Skip to content

Latest commit

 

History

History
65 lines (51 loc) · 3.48 KB

how-to-define-resize-and-positioning-behavior-in-a-split-window.md

File metadata and controls

65 lines (51 loc) · 3.48 KB
title ms.date dev_langs helpviewer_keywords ms.assetid description
How to: Define Resize and Positioning Behavior in a Split Window
03/30/2017
csharp
vb
split windows [Windows Forms], resizing
splitter windows [Windows Forms], resizing
SplitContainer control [Windows Forms], resizing
9bf73f36-ed2d-4a02-b15a-0770eff4fdfa
Learn how to define resize and positioning behavior in a split window with the SplitterIncrement and other properties.

How to: Define Resize and Positioning Behavior in a Split Window

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.

To define SplitContainer resize behavior

  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.

See also

  • xref:System.Windows.Forms.SplitContainer
  • xref:System.Windows.Forms.SplitContainer.SplitterIncrement%2A