AntdUI.Splitter 继承 WinForms SplitContainer,用于把区域分成两块并允许用户拖动分隔条调整大小。
import win.ui;
import dotNet.AntdUI;
import System.Windows.Forms;
/*DSG{{*/
var winform = win.form(text="AntdUI Splitter";right=760;bottom=420)
winform.add(host={cls="custom";left=0;top=0;right=760;bottom=420;db=1;dl=1;dr=1;dt=1;z=1})
/*}}*/
var splitter = AntdUI.Splitter(winform.host);
splitter.Orientation = System.Windows.Forms.Orientation.Vertical;
splitter.SplitterDistance = 240;
splitter.SplitterWidth = 6;
splitter.SplitterSize = 32;
splitter.CollapsePanel = AntdUI.Splitter.ADCollapsePanel.Panel1;
var tree = AntdUI.Tree();
tree.Dock = System.Windows.Forms.DockStyle.Fill;
tree.Items.Add(AntdUI.TreeItem("菜单一"));
tree.Items.Add(AntdUI.TreeItem("菜单二"));
var label = AntdUI.Label();
label.Text = "右侧内容区";
label.Dock = System.Windows.Forms.DockStyle.Fill;
label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
splitter.Panel1.Controls.Add(tree);
splitter.Panel2.Controls.Add(label);
winform.show();
win.loopMessage();
| 成员 | 说明 |
|---|---|
Orientation |
分隔方向,使用 System.Windows.Forms.Orientation.Vertical/Horizontal。 |
SplitterDistance |
分隔条到左侧或上侧的距离。 |
Panel1 / Panel2 |
两个内容面板,可向其 Controls 添加控件。 |
Panel1MinSize / Panel2MinSize |
两侧最小尺寸。 |
SplitterWidth |
分隔条粗细。 |
SplitterSize |
可点击折叠滑块大小。 |
CollapsePanel |
点击折叠时折叠哪一侧。 |
SplitPanelState |
当前展开/折叠状态。 |
Lazy |
延迟渲染。 |
Collapse() / Expand() |
主动折叠/展开。 |
SplitPanelStateChanged |
折叠状态改变事件。 |
Splitter 是 WinForms 分隔容器,子控件应添加到 splitter.Panel1.Controls 或 splitter.Panel2.Controls。Orientation.Vertical 表示左右分栏;Orientation.Horizontal 表示上下分栏。