2009-03-14 48 views

Respuesta

61

Esto funcionó para mí en una situación similar:

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

yo quería que el segundo panel para que no sea visible en absoluto en algunos casos, por lo que implementan esta manera.

+0

Si no configura SplitterDistance y llama a Hide(), ¿qué parte de Panel2 está visible? –

+1

Si no recuerdo mal, si no configuró SplitterDistance, entonces en el otro extremo del Panel1, el cursor del mouse cambiaría, por lo que es evidente que hay otro panel allí. –

+0

pero lo que sucede cuando el usuario cambia el tamaño del formulario – CrashCodes

-3

Intenta configurar panel2.Visible = false.

2

Configuración Panel2Collapsed propiedad en true en el diseñador de formulario y programaticamente ambos funcionan como usted desea (es decir, Panel1 ocupa todo el espacio) ... entonces debe haber algo más.

1
  this.splitContainerControl1.Panel2.Hide(); 
      this.splitContainerControl1.Panel2.Height = 0; 
      this.splitContainerControl1.IsSplitterFixed = true; 

Esto funcionó para mí.

+0

al menos con winforms, ¡no funciona! – boboes

0

splitContainer1.PanelVisibility = SplitPanelVisibility.Panel1

+0

No existe tal propiedad. –

+0

Funciona para Devexpress SplitContainerControl. Tal vez este no es el lugar correcto, pero funcionó para mí, gracias. –

0

Con Visual Studio 2017 es un poco más truco. Esto es lo que tengo que trabajar para mí. MyControl está dentro del 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. 
Cuestiones relacionadas