用途
Syncfusion WinForms SplitterControl 是一个容器控件,用于在 Windows Forms 应用程序中创建拆分视图和可调整大小的窗格。它通过拆分窗格显示同一网格或工作表数据的多个视图,并允许每个窗格独立滚动。
主要能力
- 水平拆分(上下)、垂直拆分(左右)或双向拆分
- 可拖动的拆分条,用户可调整窗格大小
- 多种拆分模式:None、SplitRows、SplitColumns、Both
- 可自定义滚动条样式:Metro、Office2007、Office2010、None(枚举中还列出 Office2016)
- 各窗格独立滚动
- 支持集成子控件(GridControl、SfDataGrid、Chart 或任意 Syncfusion/框架控件)
关键属性
- SplitBars(DynamicSplitBars):控制拆分方向,默认 None
- HSplitPos(int):水平拆分位置百分比(0-100),默认 50
- VSplitPos(int):垂直拆分位置百分比(0-100),默认 50
- GridOfficeScrollBars(OfficeScrollBars):滚动条样式,默认 None
- ShowHorizontalScrollBar(bool):显示/隐藏水平滚动条,默认 true
- ShowVerticalScrollBar(bool):显示/隐藏垂直滚动条,默认 true
- ShowSizeGrip(bool):显示/隐藏尺寸调整手柄,默认 true
- ShowToolTips(bool):在拆分条上显示工具提示,默认 false
使用方式
程序集:Syncfusion.Shared.Base;命名空间:Syncfusion.Windows.Forms;核心类:SplitterControl。
基本步骤:创建 SplitterControl,设置 Dock=Fill 与 SplitBars;创建子控件(GridControl 需设置 FillSplitterPane=true,SfDataGrid 使用 Dock=Fill);将子控件直接添加到 SplitterControl.Controls;再将 SplitterControl 添加到窗体。
NuGet 包安装(推荐在项目文件中使用 Version="*"):
<PackageReference Include="Syncfusion.Shared.Base" Version="*" />
<PackageReference Include="Syncfusion.Grid.Windows" Version="*" /> <!-- For GridControl -->
<PackageReference Include="Syncfusion.SfDataGrid.WinForms" Version="*" /> <!-- For SfDataGrid -->
或使用命令:
dotnet add package Syncfusion.Shared.Base
dotnet add package Syncfusion.Grid.Windows
dotnet add package Syncfusion.SfDataGrid.WinForms
基本代码示例:
using System.Windows.Forms;
using Syncfusion.Windows.Forms;
using Syncfusion.Windows.Forms.Grid;
public class Form1 : Form
{
private SplitterControl splitterControl1;
private GridControl gridControl1;
public Form1()
{
splitterControl1 = new SplitterControl();
splitterControl1.Dock = DockStyle.Fill;
splitterControl1.SplitBars = DynamicSplitBars.Both;
splitterControl1.GridOfficeScrollBars = OfficeScrollBars.Metro;
gridControl1 = new GridControl();
gridControl1.FillSplitterPane = true;
splitterControl1.Controls.Add(gridControl1);
this.Controls.Add(splitterControl1);
}
}
常见模式
- 模式 1:SplitterControl + GridControl(基本拆分视图)
- 模式 2:仅水平拆分(SplitRows,设置 HSplitPos)
- 模式 3:仅垂直拆分(SplitColumns,设置 VSplitPos)
- 模式 4:双向拆分(Both,四窗格,类似 Excel 拆分视图)
- 模式 5:SplitterControl + SfDataGrid(SfDataGrid 使用 Dock=Fill)
- 模式 6:自定义滚动条样式(Metro/Office2007/Office2010/None)
- 模式 7:隐藏滚动条(ShowHorizontalScrollBar=false、ShowVerticalScrollBar=false)
子控件集成规则
- 子控件直接添加到 SplitterControl.Controls 集合,无需中间面板
- GridControl 设置 FillSplitterPane=true;SfDataGrid 使用 Dock=DockStyle.Fill;其他控件使用标准 WinForms 布局属性
- 先配置 SplitBars 与拆分位置,再添加子控件
- 需安装 Syncfusion.Shared.Base 及子控件对应的 NuGet 包
适用场景
- Excel 风格工作表查看器(冻结窗格式拆分视图)
- 文档对比(并排查看同一文档的不同部分)
- 代码编辑器拆分视图
- 数据分析仪表板(同时查看原始数据、汇总与图表)
- 财务电子表格(收入、支出与汇总的交叉引用)
限制
资料未提供关于收费、价格、平台兼容性、性能或效果的具体说明,暂未提供。