Panels nach Einblenden automatisch neu anordnen

tomkruse

Erfahrenes Mitglied
Hallo!

Ich habe in einem UserControl mehrere Panels untereinander angeordnen. Je nach Gegebenheit (Benuereingaben etc.) werden bestimmte Panels ein- bzw. ausgeblendet. Nun möchte ich aber nicht, daß Löcher entstehen wenn ein Panel ausgeblendet wird. Das darunterliegende Panel sollte die Lücke automatisch schließen. Mir ist durchaus klar, daß man das selbst programmieren kann und ich würde das auch hinkriegen. Aber bevor ich mir das antue frage ich lieber mal, ob es dafür nicht bereits einen fertigen Mechanismus gibt den ich nur nicht kenne. Denn, wozu etwas selbst programmieren wenns schon exisitiert ..? :)

viele Grüsse

Thomas.
 
Schau dir mal das FlowLayoutPanel an. Das dürfte das können, was du brauchst. Eigenschaft "FlowDirection" musst du auf "TopDown" stellen, sonst wird alles nebeneinander statt untereinander angeordnet.
 
Hi!

Vielen Dank! Werde ich mir ansehen. Mittlerweile bin ich auch auf das TableLayoutPanel gestoßen. Das ist noch etwas flexibler. Man kann zwar eigentlich nichts ausblenden, aber die Höhe der Zeilen bzw. Breite der Spalten auf 0 setzen und sie damit prinzipiell auch ausblenden. Allerdings muß man alle Zeilen auf "absolute" setzen und nach dem Nullsetzen einer Zeile die Gesamthöhe der Tabelle neu berechnen. Aber wenn man das macht, dann erhält man genau das Verhalten das ich wollte.

Vermutlich gehts mit dem FlowLayout dann aber doch einfacher ;)

viele Grüsse

Thomas.
 
Zurück