SuperAPI AI 工具集

syncfusion-winforms-tabbed-form

前端与建站

查看项目

更新于 10-16 02:00

技能介绍

Syncfusion Windows Forms Tabbed Form(SfTabbedForm)为 Windows Forms 应用程序提供选项卡式用户界面。用户可以添加任意数量的选项卡,每个选项卡可包含任意数量的控件。选项卡既可以加载到窗体的标题栏中,也可以显示在标题栏下方。

【用途与适用场景】 该技能适用于需要创建选项卡式界面、将标准窗体转换为带标题栏集成的选项卡窗体、实现多文档界面(MDI)替代方案、添加选项卡管理功能(添加、关闭、重排)、以程序方式处理选项卡选择与导航、启用拖放重排选项卡、自定义选项卡右键菜单(类似 Web 浏览器)等场景。常见用途包括:多文档界面应用、设置/选项对话框、数据录入表单、报表查看器、代码编辑器(IDE 风格的文件编辑)以及浏览器风格应用。

【主要能力】

  • 轻松导航:内置导航按钮(首个、最后、下一个、上一个、下拉)。
  • 选项卡管理:可通过关闭按钮关闭选项卡,并进行程序化控制。
  • 拖放:通过拖动重排选项卡。
  • 标题栏集成:可在标题栏中或标题栏下方显示选项卡。
  • 上下文菜单:选项卡上可自定义的右键菜单。
  • 平滑滚动:选项卡溢出时提供平滑滚动。

【文档导航与使用方式】 入门(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 事件用于动态菜单定制、浏览器风格上下文菜单(Close、Close All But This、Close Tabs to Right)、条件启用/禁用菜单项。 自定义(references/customization.md):ExtendTabsToTitleBar 属性用于标题栏集成、选项卡外观与样式选项、TabbedFormControl 属性与配置、自定义选项卡标题。

【快速开始示例】 C# 基本设置: 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:选项卡显示在标题栏下方——将 ExtendTabsToTitleBar 设为 false。 模式 2:启用拖放与导航——设置 AllowDraggingTabs = true,并将 TabPrimitiveMode 设为 TabPrimitiveMode.DropDown | TabPrimitiveMode.FirstTab | TabPrimitiveMode.LastTab。 模式 3:程序化选择选项卡——使用 SelectedIndex = 1 或 SelectedTab = tabPageAdv2。 模式 4:带关闭选项的上下文菜单——创建 ContextMenuStrip,添加 "Close"、"Close all but this" 等项,并设置 TabContextMenu 与 ContextMenuOpening 事件。

【核心属性与事件】 属性:TabbedFormControl(包含选项卡的主控件)、ExtendTabsToTitleBar(布尔值,是否在标题栏显示选项卡,默认 true)、SelectedIndex(所选选项卡的从零开始的索引)、SelectedTab(所选 TabPageAdv 的引用)、AllowDraggingTabs(启用/禁用选项卡拖放)、TabPrimitiveMode(配置导航按钮)、TabContextMenu(选项卡的自定义上下文菜单)。 事件:SelectedIndexChanging(选项卡选择更改前,可取消)、SelectedIndexChanged(选项卡选择更改后)、TabPrimitiveClick(单击导航按钮时)、TabDragging(选项卡拖动操作期间)、ContextMenuOpening(上下文菜单显示前)。

【程序集引用】 需添加对 Syncfusion.Tools.Windows 与 Syncfusion.Shared.Base 程序集的引用,或通过 NuGet 安装: Install-Package Syncfusion.Tools.Windows