教程:使用功能区设计器创建自定义选项卡

通过使用功能区设计器,可以创建自定义选项卡,然后添加并放置控件。

适用于: 本主题中的信息适用于 Excel 的文档级项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能

本演练阐释了以下任务:

注释

以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 Visual Studio IDE

先决条件

你需要满足以下条件才能完成本演练:

创建 Excel 工作簿项目

对于所有 Office 应用程序,使用功能区设计器的步骤几乎完全相同。 本示例使用一个 Excel 工作簿。

创建 Excel 工作簿项目

  • 创建名为 MyExcelRibbon 的 Excel 工作簿项目。 有关详细信息,请参阅 如何:在 Visual Studio 中创建 Office 项目

    Visual Studio 将在设计器中打开新工作簿,并将 MyExcelRibbon 项目添加到 解决方案资源管理器

创建操作窗格

向项目添加两个自定义任务窗格。 稍后,您将在自定义选项卡中添加用于显示和隐藏这些操作窗格的按钮。

创建操作窗格

  1. “项目” 菜单上,选择“ 添加新项”。

  2. 在“ 添加新项 ”对话框中,选择 ActionsPaneControl,然后选择“ 添加”。

    ActionsPaneControl1.csActionsPaneControl1.vb文件将在设计器中打开。

  3. 工具箱“常用控件”选项卡中,向设计器图面添加标签。

  4. “属性” 窗口中,将 label1 的 Text 属性设置为 “操作窗格 1”

  5. 重复步骤 1 到 5 以创建第二个操作窗格和标签。 将第二个标签的 Text 属性设置为 Actions Pane 2

创建自定义选项卡

Office 应用程序设计指南之一是用户应始终控制 Office 应用程序 UI。 若要为操作窗格添加此功能,可以在功能区上的自定义选项卡中添加按钮,以显示和隐藏每个操作窗格。 若要创建自定义选项卡,请将 功能区(可视化设计器) 项添加到项目。 设计器可帮助你添加和定位控件、设置控件属性以及处理控件事件。

创建自定义选项卡

  1. “项目” 菜单上,选择“ 添加新项”。

  2. 添加新项对话框中,选择功能区(可视化设计器)

  3. 将新功能区的名称更改为 MyRibbon,然后选择 “添加”。

    MyRibbon.csMyRibbon.vb文件将在功能区设计器中打开,并显示默认选项卡和组。

  4. 在功能区设计器中,选择默认选项卡。

  5. “属性” 窗口中,展开 ControlId 属性,然后将 ControlIdType 属性设置为 “自定义”。

  6. “标签 ”属性设置为 “我的自定义”选项卡

  7. 在功能区设计器中,选择 group1

  8. “属性” 窗口中,将 “标签” 设置为 “操作窗格管理器”

  9. 工具箱“Office 功能区控件”选项卡中,将按钮拖到 group1 上。

  10. 选择 button1

  11. “属性” 窗口中,将 “标签” 设置为 “显示操作窗格 1”

  12. group1 添加第二个按钮,并将 标签 属性设置为 显示操作窗格 2

  13. 工具箱Office 功能区控件选项卡中,将 ToggleButton 控件拖动到 group1 上。

  14. “标签” 属性设置为 “隐藏动作窗格”

使用自定义选项卡上的按钮隐藏和显示操作窗格

最后一步是添加响应用户的代码。 为 Click 两个按钮的事件和 Click 切换按钮的事件添加事件处理程序。 向这些事件处理程序添加代码,以启用隐藏和显示动作窗格。

通过自定义选项卡中的按钮显示和隐藏操作窗格

  1. 解决方案资源管理器中,打开 MyRibbon.csMyRibbon.vb的快捷菜单,然后选择 “查看代码”。

  2. 将以下代码添加到类的 MyRibbon 顶部。 此代码创建两个操作窗格对象。

    ActionsPaneControl1 actionsPane1 = new ActionsPaneControl1();
    ActionsPaneControl2 actionsPane2 = new ActionsPaneControl2();
    
  3. 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);
    
    
    }
    
  4. 将以下三个事件处理程序方法添加到 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 将启动,功能区上会显示 “我的自定义选项卡” 选项卡。 选择“我的自定义选项卡”上的按钮以显示和隐藏操作窗格。

测试自定义选项卡

  1. F5 运行项目。

  2. 选择“ 我的自定义选项卡”选项卡

  3. “自定义操作窗格管理器” 组中,选择 “显示操作窗格 1”

    操作窗格会出现,并显示标签 Actions Pane 1

  4. 选择显示操作窗格 2

    此时会显示操作窗格,并显示标签 “操作窗格 2”

  5. 选择 “隐藏操作窗格”

    操作窗格不再可见。

后续步骤

可以详细了解如何从以下主题自定义 Office UI: