SuperAPI AI 工具集

syncfusion-winforms-splitter-control

编程与开发

查看项目

更新于 10-16 03:00

技能介绍

用途

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 风格工作表查看器(冻结窗格式拆分视图)
  • 文档对比(并排查看同一文档的不同部分)
  • 代码编辑器拆分视图
  • 数据分析仪表板(同时查看原始数据、汇总与图表)
  • 财务电子表格(收入、支出与汇总的交叉引用)

限制

资料未提供关于收费、价格、平台兼容性、性能或效果的具体说明,暂未提供。