web-dev-qa-db-fra.com

Comment masquer un panneau qui se trouve sur un SplitContainer?

Je veux masquer le panneau 2 sur un conteneur divisé et faire en sorte que panel1 utilise l'espace. J'espérais que le paramètre Panel 2 Collapsed ferait l'affaire, mais pas de chance. Des idées?

38
CrashCodes

Cela a fonctionné pour moi sur une situation similaire:

splitContainer1.Panel2Collapsed = true;
splitContainer1.Panel2.Hide();

Je voulais que le deuxième panneau ne soit pas visible du tout dans certains cas, alors je l'ai mis en œuvre de cette façon.

72
Nikos Steiakakis

Définir la propriété Panel2Collapsed sur true dans le concepteur de formulaire et le programmer à la fois fonctionnent comme vous le souhaitez (c'est-à-dire que Panel1 occupe tout l'espace) ... donc il doit y avoir autre chose.

3
Daniel LeCheminant
            this.splitContainerControl1.Panel2.Hide();
            this.splitContainerControl1.Panel2.Height = 0;
            this.splitContainerControl1.IsSplitterFixed = true; 

Cela a fonctionné pour moi.

1
user2581948

splitContainer1.PanelVisibility = SplitPanelVisibility.Panel1

1
Thomas Papageorgiou

Avec Visual Studio 2017, c'est un peu plus compliqué. C'est ce que je dois travailler pour moi. MyControl est à l'intérieur du panel1.

'vb.net:

MySplitContainer.Panel2Collapsed = True
MySplitContainer.Panel2.Hide()
MySplitContainer.SplitterDistance = MySplitContainer.Height
MySplitContainer.Panel1.Anchor = AnchorStyles.Bottom
MyControl.Height = MySplitContainer.Height

'for C# just add a semi-colon onto the end of each line and it should work.
0
Donald