如何:定义拆分窗口中的大小调整和定位行为
SplitContainer 控件的面板非常便于用户重设大小和操控。 但你有时需要以编程方式控制拆分器(它的位置以及它可以移动的程度)。
利用 SplitterIncrement 属性和 SplitContainer 控件上的其他属性可精确控制用户界面的行为,以满足需求。 下表列出了这些属性。
名称 | 描述 |
---|---|
IsSplitterFixed 属性 | 确定拆分器是否可通过键盘或鼠标移动。 |
SplitterDistance 属性 | 确定从左边缘或上边缘到可移动拆分栏的距离(以像素为单位)。 |
SplitterIncrement 属性 | 确定拆分器可由用户移动的最小距离(以像素为单位)。 |
下面的示例修改 SplitterIncrement 属性以创建“对齐拆分器”效果;当用户拖动拆分器时,它以 10 像素(而不是默认的 1 像素)为单位递增。
定义 SplitContainer 重设大小行为
在过程中将 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 像素时,拆分器将对齐到新位置。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈