2009-03-14 8 views
34

Voglio nascondere panel2 su un contenitore diviso e fare in modo che panel1 utilizzi lo spazio. Speravo che impostare Panel2Collapsed avrebbe funzionato, ma senza fortuna. Idee?Come posso nascondere un pannello su uno SplitContainer?

+1

Cosa succede in realtà quando si imposta Panel2Collapsed su true? Panel2 rimane visibile? –

risposta

61

questo ha funzionato per me su una situazione simile:

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

ho voluto il secondo pannello di non essere visibile a tutti, in alcuni casi, quindi ho implementato in questo modo.

+0

Se non si imposta SplitterDistance e si chiama Hide(), quale parte di Panel2 è visibile? –

+1

Se ricordo correttamente, se non hai impostato SplitterDistance, in fondo al Pannello1 il cursore del mouse cambia, rendendo evidente che c'è un altro pannello. –

+0

ma cosa succede quando l'utente ridimensiona il modulo – CrashCodes

-3

Provare a impostare panel2.Visible = false.

2

impostazione Panel2Collapsed proprietà true in forma progettista e programatically sia il lavoro come li si vuole (cioè Panel1 poi occupa tutto lo spazio) ... quindi ci deve essere qualcos'altro.

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

Questo ha funzionato per me.

+0

almeno con winforms non funziona! – boboes

0

splitContainer1.PanelVisibility = SplitPanelVisibility.Panel1

+0

Non esiste alcuna proprietà di questo tipo. –

+0

Funziona con Devexpress SplitContainerControl. Forse qui non è il posto giusto ma ha funzionato per me, grazie. –

0

Con Visual Studio 2017 è un po 'più di trucco. Questo è quello che devo lavorare per me. MyControl si trova all'interno di 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. 
Problemi correlati