Gewusst wie: Definieren des Verhaltens bei Größen- und Positionsänderungen in einem geteilten Fenster
Die Bereiche des SplitContainer-Steuerelements eignen sich sehr gut für Größenänderungen und sonstige Änderungen durch Benutzer. Dennoch kann es zeitweilig vorkommen, dass Sie den Splitter durch das Programm steuern lassen möchten. Beispielsweise seine Position und die Möglichkeiten zum Verschieben sollen dann programmgesteuert festgelegt werden.
Mithilfe der SplitterIncrement-Eigenschaft und anderer Eigenschaften des SplitContainer-Steuerelements können Sie das Verhalten der Benutzeroberfläche präzise an Ihre Anforderungen anpassen. Diese Eigenschaften sind in der folgenden Tabelle aufgeführt.
Name |
Beschreibung |
---|---|
IsSplitterFixed-Eigenschaft |
Bestimmt, ob der Splitter mittels Tastatur oder Maus bewegt werden kann. |
SplitterDistance-Eigenschaft |
Bestimmt den Abstand zwischen dem linken bzw. oberen Rand und der verschiebbaren Splitterleiste in Pixel. |
SplitterIncrement-Eigenschaft |
Bestimmt den Mindestabstand in Pixel, um den der Benutzer den Splitter verschieben kann. |
Im Beispiel unten wird die SplitterIncrement-Eigenschaft geändert, um den Effekt eines "springenden Splitters" zu erzeugen. Beim Verschieben des Splitters durch den Benutzer wird die Position in Schritten von 10 Pixel erhöht anstelle des Standardwerts von einem Pixel.
So definieren Sie das Verhalten von SplitContainer bei einer Änderung der Größe
Legen Sie innerhalb einer Prozedur die SplitterIncrement-Eigenschaft auf die gewünschte Größe fest, um das "springende" Verhalten des Splitters zu erreichen.
Im folgenden Codebeispiel wird innerhalb des Load-Ereignisses des Formulars der Splitter im SplitContainer-Steuerelement auf eine Sprungweite von 10 Pixel beim Verschieben festgelegt.
Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim splitSnapper as new SplitContainer() splitSnapper.SplitterIncrement = 10 splitSnapper.Dock = DockStyle.Fill splitSnapper.Parent = me End Sub
private void Form1_Load(System.Object sender, System.EventArgs e) { SplitContainer splitSnapper = new SplitContainer(); splitSnapper.SplitterIncrement = 10; splitSnapper.Dock = DockStyle.Fill; splitSnapper.Parent = this; }
(Visual C#) Fügen Sie den folgenden Code im Konstruktor des Formulars ein, um den Ereignishandler zu registrieren.
this.Load += new System.EventHandler(this.Form1_Load);
Eine leichte Bewegung des Splitters nach links oder rechts führt zu keinem wahrnehmbaren Effekt. Wird der Mauszeiger jedoch um 10 Pixel in eine der beiden Richtungen bewegt, springt der Splitter zu der neuen Position.