Unteres Panel im Splitcontainer fixieren

Ich habe vor Kurzem (in C# / .NET 4) mit mehreren Splitcontainern gearbeitet – das erste Mal überhaupt. Dieses Tool ist ein zweigeteilter Container (das Wort passt nun mal am Besten), in welchem man im linken und rechten Panel bzw. oberen und unteren Panel Inhalte platzieren kann. Die Größe dieser Panele kann natürlich angepasst werden. Dazu existiert die Eigenschaft SplitterDistance, die den Abstand zu der linken oberen Kante angibt (in Abhängigkeit der horizontalen bzw. vertikalen Teilung).

Nun wollte ich erreichen, dass beim Vergrößern bzw. Verkleinern des Splitcontainers das obere Panel verändert werden kann, das untere Panel jedoch eine feste Höhe hat, so dass auch  alle Inhalte weiterhin anzeigt werden – nicht mehr und nicht weniger. Für das Verkleinern gibt es dazu die Eigenschaft PanelMinSize (wieder in Abhängigkeit der Teilung Höhe oder Breite), womit ich in meinem Fall verhindern konnte, dass das Panel kleiner als 50px wird. Habe ich jedoch die Höhe des Containers Vergrößert, so wuchs auch das untere Panel mit.

Nach längerem Suchen wurde ich dann doch noch fündig. Es existiert nämlich noch die Eigenschaft FixedPanel. Hier hat man die Auswahl zwischen None, Panel1 und Panel2 und legt damit fest, welches der Panele nicht verändert werden soll, falls die Größe sich ändert.

Welche Eigenschaft auch den Anschein erweckt, die Größe zu fixieren ist „IsSplitterFixed“. Damit wird jedoch eingestellt, ob die Panele vom Benutzer händisch vergrößert bzw. verkleinert werden können, wenn die Trennlinie (Splitter) mit der Maus verschoben wird. Mir geht es jedoch um eine automatische Anpassung der des Containers an die Fenstergröße, weshalb diese Eigenschaft hier nicht den gewünschten Effekt hat.


Teile diesen Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert