关于 syncfusion-winforms-tabbed-form
用于通过 Syncfusion SfTabbedForm 在 Windows Forms 中构建选项卡界面的技能,涵盖标题栏选项卡、选择与导航、拖放重排及可定制的选项卡上下文菜单。
主要功能
- 01选项卡可置于标题栏或其下方
- 02选项卡选择与变更事件
- 03内置导航按钮
- 04拖放重排选项卡
- 05可定制的选项卡上下文菜单
- 06溢出时平滑滚动
适用场景
- 01通过选项卡组织设置页面
- 02展示多个文档或报告
- 03将数据录入表单拆分为多个部分
- 04构建浏览器式选项卡管理
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ syncfusion/ winforms-ui-components-skills --skill syncfusion-winforms-tabbed-form安装后在 Claude Code 中输入/syncfusion-winforms-tabbed-form确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/context-menu.mdcustomization.mddrag-and-drop.mdgetting-started.mdtab-navigation.mdtab-selection.md详细介绍
实现 Syncfusion Windows Forms 选项卡式窗体
Syncfusion 选项卡式窗体(SfTabbedForm)为 Windows Forms 应用程序提供选项卡式用户界面。用户可以添加任意数量的选项卡,每个选项卡都可以包含任意数量的控件。选项卡可以加载到窗体标题栏中,也可以显示在标题栏下方。
何时使用此技能
在需要以下功能时使用此技能:
- 在 Windows Forms 应用程序中创建选项卡式用户界面
- 将标准窗体转换为与标题栏集成的选项卡式窗体
- 实现多文档界面(MDI)的替代方案
- 添加选项卡管理功能(添加、关闭、重新排序选项卡)
- 以编程方式处理选项卡选择和导航
- 启用拖放式选项卡重新排序
- 自定义选项卡的上下文菜单(类似 Web 浏览器)
主要功能
- 轻松导航:内置导航按钮(第一个、最后一个、下一个、上一个、下拉)
- 选项卡管理:使用关闭按钮关闭选项卡,并以编程方式控制选项卡
- 拖放:通过拖动重新排序选项卡
- 标题栏集成:在标题栏中或标题栏下方显示选项卡
- 上下文菜单:可自定义选项卡的右键菜单
- 平滑滚动:选项卡溢出时提供平滑滚动
文档和导航指南
入门
📄 阅读: references/getting-started.md
- 程序集部署和依赖项
- 将标准窗体转换为 SfTabbedForm
- 将 TabbedFormControl 加载到窗体中
- 向控件添加选项卡(TabPageAdv)
- 配置标题栏集成(ExtendTabsToTitleBar)
- 基本选项卡设置和初始化
选项卡选择
📄 阅读: references/tab-selection.md
- 以编程方式选择(SelectedIndex、SelectedTab 属性)
- SelectedIndexChanging 事件(支持取消)
- SelectedIndexChanged 事件
- 事件处理模式
- 限制选项卡选择
选项卡导航
📄 阅读: references/tab-navigation.md
- TabPrimitiveMode 属性配置
- 内置导航按钮(FirstTab、LastTab、NextTab、PreviousTab、DropDown)
- TabPrimitiveClick 事件处理
- 自定义导航控件
- 处理选项卡溢出情况
拖放
📄 阅读: references/drag-and-drop.md
- 启用拖放(AllowDraggingTabs 属性)
- TabDragging 事件和 TabDraggingEventArgs
- TabDraggingAction 状态(DragStarting、DragDropping)
- 取消特定选项卡的拖动
- 阻止选项卡重新排序到特定位置
上下文菜单
📄 阅读: references/context-menu.md
- TabContextMenu 属性
- 使用 ContextMenuStrip 创建自定义上下文菜单
- 使用 ContextMenuOpening 事件动态自定义菜单
- 浏览器风格的上下文菜单(关闭、关闭其他所有选项卡、关闭右侧选项卡)
- 有条件地启用或禁用菜单项
自定义
📄 阅读: references/customization.md
- 用于标题栏集成的 ExtendTabsToTitleBar 属性
- 选项卡外观和样式选项
- TabbedFormControl 属性和配置
- 自定义选项卡标题
快速入门示例
基本选项卡式窗体设置
using Syncfusion.Windows.Forms.Tools;
public partial class Form1 : SfTabbedForm
{
private SfTabbedFormControl tabbedFormControl;
public Form1()
{
InitializeComponent();
// Create and configure the tabbed form control
tabbedFormControl = new SfTabbedFormControl();
// Add tabs
TabPageAdv tabPageAdv1 = new TabPageAdv();
TabPageAdv tabPageAdv2 = new TabPageAdv();
tabPageAdv1.Text = "Document1";
tabPageAdv2.Text = "Document2";
tabbedFormControl.Tabs.Add(tabPageAdv1);
tabbedFormControl.Tabs.Add(tabPageAdv2);
// Add control to form
this.Controls.Add(tabbedFormControl);
this.TabbedFormControl = tabbedFormControl;
}
}
VB.NET 示例
Imports Syncfusion.Windows.Forms.Tools
Partial Public Class Form1
Inherits SfTabbedForm
Private tabbedFormControl As SfTabbedFormControl
Public Sub New()
InitializeComponent()
' Create and configure the tabbed form control
tabbedFormControl = New SfTabbedFormControl()
' Add tabs
Dim tabPageAdv1 As New TabPageAdv()
Dim tabPageAdv2 As New TabPageAdv()
tabPageAdv1.Text = "Document1"
tabPageAdv2.Text = "Document2"
tabbedFormControl.Tabs.Add(tabPageAdv1)
tabbedFormControl.Tabs.Add(tabPageAdv2)
' Add control to form
Me.Controls.Add(tabbedFormControl)
Me.TabbedFormControl = tabbedFormControl
End Sub
End Class
常见模式
模式 1:在标题栏下方显示选项卡
public Form1()
{
InitializeComponent();
// Disable extending tabs to title bar
this.ExtendTabsToTitleBar = false;
// Setup tabbed control as usual
tabbedFormControl = new SfTabbedFormControl();
// ... add tabs
}
模式 2:启用拖放和导航
public Form1()
{
InitializeComponent();
tabbedFormControl = new SfTabbedFormControl();
// Enable drag and drop
tabbedFormControl.AllowDraggingTabs = true;
// Add navigation buttons
tabbedFormControl.TabPrimitiveMode = TabPrimitiveMode.DropDown |
TabPrimitiveMode.FirstTab |
TabPrimitiveMode.LastTab;
// ... add tabs
}
模式 3:以编程方式选择选项卡
// Select by index
this.tabbedFormControl.SelectedIndex = 1;
// Or select by tab reference
this.tabbedFormControl.SelectedTab = tabPageAdv2;
模式 4:包含关闭选项的上下文菜单
public Form1()
{
InitializeComponent();
tabbedFormControl = new SfTabbedFormControl();
// Setup context menu
ContextMenuStrip tabContextMenu = new ContextMenuStrip();
tabContextMenu.Items.Add("Close", null, OnCloseMenuClicked);
tabContextMenu.Items.Add("Close all but this", null, OnCloseAllMenuClicked);
tabbedFormControl.TabContextMenu = tabContextMenu;
tabbedFormControl.ContextMenuOpening += TabbedFormControl_ContextMenuOpening;
// ... add tabs
}
主要属性和事件
核心属性
- TabbedFormControl:包含选项卡的主控件
- ExtendTabsToTitleBar:用于在标题栏中显示选项卡的布尔值(默认值:true)
- SelectedIndex:所选选项卡的从零开始的索引
- SelectedTab:所选 TabPageAdv 的引用
- AllowDraggingTabs:启用或禁用选项卡拖放
- TabPrimitiveMode:配置导航按钮
- TabContextMenu:选项卡的自定义上下文菜单
关键事件
- SelectedIndexChanging:选项卡选择更改前触发(可取消)
- SelectedIndexChanged:选项卡选择更改后触发
- TabPrimitiveClick:单击导航按钮时触发
- TabDragging:拖动选项卡期间触发
- ContextMenuOpening:上下文菜单显示前触发
常见用例
- 多文档界面:创建包含多个选项卡文档的应用程序
- 设置/选项对话框:将设置整理到多个选项卡页面中
- 数据录入表单:将复杂表单拆分为逻辑清晰的选项卡分区
- 报表查看器:在单独的选项卡中显示多个报表
- 代码编辑器:实现 IDE 风格的选项卡式文件编辑
- 浏览器风格的应用程序:创建类似 Web 浏览器的选项卡管理功能
程序集引用
添加对 Syncfusion.Tools.Windows 和 Syncfusion.Shared.Base 程序集的引用,或通过 NuGet 安装:
Install-Package Syncfusion.Tools.Windows
评论
支持 Markdown