如何:定义拆分窗口中的大小调整和定位行为

SplitContainer 控件的面板非常便于用户重设大小和操控。 但你有时需要以编程方式控制拆分器(它的位置以及它可以移动的程度)。

利用 SplitterIncrement 属性和 SplitContainer 控件上的其他属性可精确控制用户界面的行为,以满足需求。 下表列出了这些属性。

名称 描述
IsSplitterFixed 属性 确定拆分器是否可通过键盘或鼠标移动。
SplitterDistance 属性 确定从左边缘或上边缘到可移动拆分栏的距离(以像素为单位)。
SplitterIncrement 属性 确定拆分器可由用户移动的最小距离(以像素为单位)。

下面的示例修改 SplitterIncrement 属性以创建“对齐拆分器”效果;当用户拖动拆分器时,它以 10 像素(而不是默认的 1 像素)为单位递增。

定义 SplitContainer 重设大小行为

  1. 在过程中将 SplitterIncrement 属性设置为所需的大小,以便实现拆分器的“对齐”行为。

    在下面的代码示例中,在窗体的 Load 事件中,SplitContainer 控件中的拆分器设置为在拖动时跳转 10 像素。

    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#) 将以下代码放在窗体构造函数中以注册事件处理程序。

    this.Load += new System.EventHandler(this.Form1_Load);  
    

    将拆分器略微向左或向右移动不会产生明显的效果;但当鼠标指针向任一方向移动 10 像素时,拆分器将对齐到新位置。

另请参阅