通过使用功能区设计器,可以创建自定义选项卡,然后添加并放置控件。
适用于: 本主题中的信息适用于 Excel 的文档级项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能。
本演练阐释了以下任务:
注释
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 Visual Studio IDE。
先决条件
你需要满足以下条件才能完成本演练:
- 包含 Microsoft Office 开发人员工具的 Visual Studio 版本。 有关详细信息,请参阅 配置计算机以开发 Office 解决方案。 
- Microsoft Excel 
创建 Excel 工作簿项目
对于所有 Office 应用程序,使用功能区设计器的步骤几乎完全相同。 本示例使用一个 Excel 工作簿。
创建 Excel 工作簿项目
- 创建名为 MyExcelRibbon 的 Excel 工作簿项目。 有关详细信息,请参阅 如何:在 Visual Studio 中创建 Office 项目。 - Visual Studio 将在设计器中打开新工作簿,并将 MyExcelRibbon 项目添加到 解决方案资源管理器。 
创建操作窗格
向项目添加两个自定义任务窗格。 稍后,您将在自定义选项卡中添加用于显示和隐藏这些操作窗格的按钮。
创建操作窗格
- 在 “项目” 菜单上,选择“ 添加新项”。 
- 在“ 添加新项 ”对话框中,选择 ActionsPaneControl,然后选择“ 添加”。 - ActionsPaneControl1.cs或ActionsPaneControl1.vb文件将在设计器中打开。 
- 在工具箱的“常用控件”选项卡中,向设计器图面添加标签。 
- 在 “属性” 窗口中,将 label1 的 Text 属性设置为 “操作窗格 1”。 
- 重复步骤 1 到 5 以创建第二个操作窗格和标签。 将第二个标签的 Text 属性设置为 Actions Pane 2。 
创建自定义选项卡
Office 应用程序设计指南之一是用户应始终控制 Office 应用程序 UI。 若要为操作窗格添加此功能,可以在功能区上的自定义选项卡中添加按钮,以显示和隐藏每个操作窗格。 若要创建自定义选项卡,请将 功能区(可视化设计器) 项添加到项目。 设计器可帮助你添加和定位控件、设置控件属性以及处理控件事件。
创建自定义选项卡
- 在 “项目” 菜单上,选择“ 添加新项”。 
- 在添加新项对话框中,选择功能区(可视化设计器)。 
- 将新功能区的名称更改为 MyRibbon,然后选择 “添加”。 - MyRibbon.cs或MyRibbon.vb文件将在功能区设计器中打开,并显示默认选项卡和组。 
- 在功能区设计器中,选择默认选项卡。 
- 在 “属性” 窗口中,展开 ControlId 属性,然后将 ControlIdType 属性设置为 “自定义”。 
- 将 “标签 ”属性设置为 “我的自定义”选项卡。 
- 在功能区设计器中,选择 group1。 
- 在 “属性” 窗口中,将 “标签” 设置为 “操作窗格管理器”。 
- 从工具箱的“Office 功能区控件”选项卡中,将按钮拖到 group1 上。 
- 选择 button1。 
- 在 “属性” 窗口中,将 “标签” 设置为 “显示操作窗格 1”。 
- 向 group1 添加第二个按钮,并将 标签 属性设置为 显示操作窗格 2。 
- 从工具箱的 Office 功能区控件选项卡中,将 ToggleButton 控件拖动到 group1 上。 
- 将 “标签” 属性设置为 “隐藏动作窗格”。 
使用自定义选项卡上的按钮隐藏和显示操作窗格
最后一步是添加响应用户的代码。 为 Click 两个按钮的事件和 Click 切换按钮的事件添加事件处理程序。 向这些事件处理程序添加代码,以启用隐藏和显示动作窗格。
通过自定义选项卡中的按钮显示和隐藏操作窗格
- 在 解决方案资源管理器中,打开 MyRibbon.cs 或 MyRibbon.vb的快捷菜单,然后选择 “查看代码”。 
- 将以下代码添加到类的 - MyRibbon顶部。 此代码创建两个操作窗格对象。
- 将 - MyRibbon_Load方法替换为以下代码。 此代码将操作窗格对象添加到 Controls 集合中,并将其从视图中隐藏。 Visual C# 代码还会将委托附加到多个 Ribbon 控件事件。- private void MyRibbon_Load(object sender, RibbonUIEventArgs e) { Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane1); Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane2); actionsPane1.Hide(); actionsPane2.Hide(); Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = false; this.button1.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler( this.button1_Click); this.button2.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler( this.button2_Click); this.toggleButton1.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler( this.toggleButton1_Click); }
- 将以下三个事件处理程序方法添加到 - MyRibbon类。 这些方法处理 Click 两个按钮的事件和 Click 切换按钮的事件。 button1 和 button2 的事件处理程序显示交替操作窗格。 toggleButton1 的事件处理程序显示和隐藏活动窗格。- private void button1_Click(object sender, RibbonControlEventArgs e) { Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true; actionsPane2.Hide(); actionsPane1.Show(); toggleButton1.Checked = false; } private void button2_Click(object sender, RibbonControlEventArgs e) { Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true; actionsPane1.Hide(); actionsPane2.Show(); toggleButton1.Checked = false; } private void toggleButton1_Click(object sender, RibbonControlEventArgs e) { if (toggleButton1.Checked == true) { Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = false; } else { Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true; } }
测试自定义选项卡
运行项目时,Excel 将启动,功能区上会显示 “我的自定义选项卡” 选项卡。 选择“我的自定义选项卡”上的按钮以显示和隐藏操作窗格。
测试自定义选项卡
- 按 F5 运行项目。 
- 选择“ 我的自定义选项卡”选项卡 。 
- 在 “自定义操作窗格管理器” 组中,选择 “显示操作窗格 1”。 - 操作窗格会出现,并显示标签 Actions Pane 1。 
- 选择显示操作窗格 2。 - 此时会显示操作窗格,并显示标签 “操作窗格 2”。 
- 选择 “隐藏操作窗格”。 - 操作窗格不再可见。 
后续步骤
可以详细了解如何从以下主题自定义 Office UI:
- 将基于上下文的用户界面添加到任何文档级别的自定义功能中。 有关详细信息,请参阅 “操作窗格概述”。 
- 扩展标准或自定义Microsoft Office Outlook 窗体。 有关详细信息,请参阅 演练:设计 Outlook 窗体区域。 
相关内容
- 在运行时访问功能区
- 功能区概述
- 功能区设计器
- 自定义 Outlook 功能区
- 如何开始自定义功能区
- 如何:更改功能区上选项卡的位置
- 如何:自定义内置选项卡
- 如何将控件添加到 Backstage 视图
- 功能区对象模型概述