title | ms.date | dev_langs | helpviewer_keywords | ms.assetid | description | |||||
---|---|---|---|---|---|---|---|---|---|---|
How to: Define Resize and Positioning Behavior in a Split Window |
03/30/2017 |
|
|
9bf73f36-ed2d-4a02-b15a-0770eff4fdfa |
Learn how to define resize and positioning behavior in a split window with the SplitterIncrement and other properties. |
The panels of the xref:System.Windows.Forms.SplitContainer control lend themselves well to being resized and manipulated by users. However, there will be times when you will want to programmatically control the splitter—where it is positioned and to what degree it can be moved.
The xref:System.Windows.Forms.SplitContainer.SplitterIncrement%2A property and the other properties on the xref:System.Windows.Forms.SplitContainer control give you precise control over the behavior of your user interface to suit your needs. These properties are listed in the following table.
Name | Description |
---|---|
xref:System.Windows.Forms.SplitContainer.IsSplitterFixed%2A property | Determines if the splitter is movable by means of the keyboard or mouse. |
xref:System.Windows.Forms.SplitContainer.SplitterDistance%2A property | Determines the distance in pixels from the left or upper edge to the movable splitter bar. |
xref:System.Windows.Forms.SplitContainer.SplitterIncrement%2A property | Determines the minimum distance, in pixels, that the splitter can be moved by the user. |
The example below modifies the xref:System.Windows.Forms.SplitContainer.SplitterIncrement%2A property to create a "snapping splitter" effect; when the user drags the splitter, it increments in units of 10 pixels rather than the default 1.
-
In a procedure, set the xref:System.Windows.Forms.SplitContainer.SplitterIncrement%2A property to the desired size, so that the 'snapping' behavior of the splitter is achieved.
In the following code example, within the form's xref:System.Windows.Forms.Form.Load event, the splitter within the xref:System.Windows.Forms.SplitContainer control is set to jump 10 pixels when dragged.
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#) Place the following code in the form's constructor to register the event handler.
this.Load += new System.EventHandler(this.Form1_Load);
Moving the splitter slightly to the left or right will have no discernible effect; however, when the mouse pointer goes 10 pixels in either direction, the splitter will snap to the new position.
- xref:System.Windows.Forms.SplitContainer
- xref:System.Windows.Forms.SplitContainer.SplitterIncrement%2A