KryptonSplitContainer ✓ LCode 已集成 Toolkit
命名空间:Krypton.Toolkit · 程序集:Krypton.Toolkit.dll
简介
KryptonSplitContainer 是增强型分割容器控件,替代标准 System.Windows.Forms.SplitContainer。它把可用区域分为两个面板(Panel1 / Panel2),中间由可拖动的分割条隔开,用户可拖动分割条调整两侧比例;分割条与面板背景均跟随 Krypton 主题渲染,支持水平/垂直方向、固定面板、最小尺寸限制等。
常用属性
| 属性 | 类型 | 说明 |
|---|---|---|
Orientation | Orientation | 分割方向(Vertical 左右分 / Horizontal 上下分) |
SplitterDistance | int | 分割条距容器边缘的距离(像素) |
SplitterWidth | int | 分割条宽度 |
FixedPanel | FixedPanel | 缩放时保持固定的面板(None / Panel1 / Panel2) |
IsSplitterFixed | bool | 是否锁定分割条(禁止拖动) |
Panel1MinSize | int | Panel1 的最小尺寸 |
Panel2MinSize | int | Panel2 的最小尺寸 |
Panel1 | SplitterPanel | 第一个面板(承载子控件) |
Panel2 | SplitterPanel | 第二个面板(承载子控件) |
Panel1Collapsed | bool | 是否折叠 Panel1(Panel2 占满) |
Panel2Collapsed | bool | 是否折叠 Panel2(Panel1 占满) |
ContainerBackStyle | PaletteBackStyle | 面板背景预设风格 |
快速上手
左导航 + 右内容布局
using Krypton.Toolkit;
// 创建分割容器并占满窗体
var split = new KryptonSplitContainer();
split.Dock = DockStyle.Fill;
split.Orientation = Orientation.Vertical; // 左右分割
split.SplitterDistance = 220; // 左侧宽度
split.FixedPanel = FixedPanel.Panel1; // 缩放时左侧宽度不变
// 左侧放树形导航
var tree = new KryptonTreeView();
tree.Dock = DockStyle.Fill;
split.Panel1.Controls.Add(tree);
// 右侧放内容面板
var panelContent = new KryptonPanel();
panelContent.Dock = DockStyle.Fill;
split.Panel2.Controls.Add(panelContent);
this.Controls.Add(split);
上下分割(列表 + 详情)
split.Orientation = Orientation.Horizontal; // 上下分割
split.SplitterDistance = 180; // 上方高度
split.Panel1MinSize = 100;
split.Panel2MinSize = 120;
进阶用法
分割条拖动事件
// 拖动过程中持续触发
split.SplitterMoved += (s, e) =>
Console.WriteLine($"分割位置:{split.SplitterDistance}");
// 锁定 / 解锁分割条
split.IsSplitterFixed = true; // 禁止拖动
split.IsSplitterFixed = false; // 恢复拖动
折叠某一侧面板
// 折叠左侧(例如隐藏导航栏),右侧占满
split.Panel1Collapsed = true;
// 恢复显示
split.Panel1Collapsed = false;
提示:嵌套 KryptonSplitContainer 可构建多区域布局(如 Outlook 式「导航 / 列表 / 预览」三栏),将第二个 SplitContainer 放入第一个的 Panel2 即可。
对应示例项目
📁 Source/Krypton Toolkit Examples/KryptonSplitContainer Examples/
包含:水平/垂直分割、固定面板、嵌套分割、面板折叠演示。