演练:使用功能区设计器创建自定义选项卡
使用功能区设计器,可以创建自定义选项卡,然后在其中添加和放置控件。
适用于: 本主题中的信息适用于 Excel 的文档级项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。
本演练阐释了以下任务:
注意
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 Visual Studio IDE。
先决条件
你需要满足以下条件才能完成本演练:
Visual Studio 的一个版本,其中包含 Microsoft Office 开发人员工具。 有关详细信息,请参阅配置计算机以开发办公室解决方案。
Microsoft Excel
创建 Excel 工作簿项目
使用功能区设计器的步骤对于所有 Office 应用程序几乎是相同的。 本示例使用一个 Excel 工作簿。
创建 Excel 工作簿项目
创建名为 MyExcelRibbon 的 Excel 工作簿项目。 有关详细信息,请参阅 How to: Create Office Projects in Visual Studio。
Visual Studio 将在设计器中打开新工作簿,并将 MyExcelRibbon 项目添加到解决方案资源管理器。
创建操作窗格
将两个自定义操作窗格添加到项目。 稍后会将显示和隐藏这些操作窗格的按钮添加到自定义选项卡中。
创建操作窗格
在 “项目” 菜单上选择 “添加新项” 。
在 “添加新项 ”对话框中,选择 ActionsPaneControl,然后选择“ 添加”。
ActionsPaneControl1.cs 或 ActionsPaneControl1.vb 文件将在设计器中打开。
在工具箱的“常用控件”选项卡中,向设计器图面添加标签。
在 “属性” 窗口中,将 label1 的 Text 属性设置为 “操作窗格 1”。
重复步骤 1 至 5,再创建一个操作窗格和标签。 将 第二个标签的 Text 属性设置为 “操作窗格 2”。
创建自定义选项卡
Office 应用程序的设计准则之一是:用户应始终能控制 Office 应用程序 UI。 若要为操作窗格添加此功能,可以添加用于从功能区上的自定义选项卡显示和隐藏每个操作窗格的按钮。 若要创建自定义选项卡,请将功能区(可视化设计器)项添加到项目。 设计器可帮助你添加和放置控件、设置控件属性以及处理控件事件。
创建自定义选项卡
在 “项目” 菜单上选择 “添加新项” 。
在 “添加新项” 对话框中,选择 “功能区(可视化设计器)”。
将新功能区的名称更改为 MyRibbon,然后选择“ 添加”。
MyRibbon.cs 或 MyRibbon.vb 文件将在功能区设计器中打开,并显示一个默认选项卡和组。
在功能区设计器中,选择默认选项卡。
在“属性”窗口中,展开 ControlId 属性,然后将 ControlIdType 属性设置为“自定义”。
将 “标签 ”属性设置为 “我的自定义”选项卡。
在功能区设计器中,选择 group1。
在“属性”窗口中,将“标签”设置为“操作窗格管理器”。
在工具箱的“办公室功能区控件”选项卡中,将按钮拖到 group1 上。
选择 button1。
在“属性”窗口中,将“标签”设置为“显示操作”窗格 1。
向 group1 添加第二个按钮,并将“标签”属性设置为“显示操作窗格 2”。
从工具箱的“办公室功能区控件”选项卡中,将 ToggleButton 控件拖到 group1 上。
将 “标签 ”属性设置为“ 隐藏操作”窗格。
使用自定义选项卡上的按钮隐藏和显示操作窗格
最后一个步骤是添加对用户进行响应的代码。 为上述两个按钮的 Click 事件和切换按钮的 Click 事件添加事件处理程序。 在这些事件处理程序中添加相应代码即可隐藏和显示操作窗格。
使用自定义选项卡中的按钮隐藏和显示操作窗格
在解决方案资源管理器中,打开 MyRibbon.cs 或 MyRibbon.vb 的快捷菜单,然后选择“查看代码”。
将下面的代码添加到
MyRibbon
类的顶部。 这段代码可以创建两个操作窗格对象。将
MyRibbon_Load
方法替换为以下代码。 这段代码会将操作窗格对象添加到 Controls 集合中,并在视图中这些隐藏对象。 Visual C# 代码还会将委托附加到多个功能区控件事件。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。
此时会显示操作窗格,并显示标签 “操作窗格 1”。
选择“ 显示操作”窗格 2。
此时会显示操作窗格,并显示标签 “操作窗格 2”。
选择“ 隐藏操作”窗格。
操作窗格不再可见。
后续步骤
可从以下主题了解有关如何自定义 Office 用户界面的更多信息:
将基于上下文的 UI 添加到任何文档级自定义项。 有关详细信息,请参阅 “操作”窗格概述。
扩展标准的或自定义的 Microsoft Office Outlook 窗体。 有关详细信息,请参阅 演练:设计 Outlook 窗体区域。