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

使用功能区设计器,本演练演示如何创建自定义功能区选项卡。使用功能区设计器可以在自定义选项卡上添加和放置控件。

**适用于:**本主题中的信息适用于以下应用程序的文档级项目和应用程序级项目:Excel 2013 和 Excel 2010;InfoPath 2013 和 InfoPath 2010;Outlook 2013 和 Outlook 2010;PowerPoint 2013 和 PowerPoint 2010;Project 2013 和 Project 2010;Visio 2013 和 Visio 2010;Word 2013 和 Word 2010。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

本演练阐释了以下任务:

  • 创建操作窗格.

  • 创建自定义选项卡.

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

说明说明

以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。您安装的 Visual Studio 版本以及使用的设置决定了这些元素。有关更多信息,请参见Visual Studio 设置

系统必备

您需要以下组件来完成本演练:

-

Visual Studio 2012 的一个版本,其中包含 Microsoft Office 开发工具。有关更多信息,请参见[将计算机配置为开发 Office 解决方案](bb398242\(v=vs.110\).md)。
  • Excel 2010 或 Excel 2013。 

链接到视频有关本主题的视频版本,请参见 Video How to: Creating a Custom Tab by Using the Ribbon Designer(视频帮助主题:使用功能区设计器创建自定义选项卡)。有关相关视频演示,请参见 How Do I: Use the Ribbon Designer to Customize the Ribbon in Excel?(如何实现:使用功能区设计器在 Excel 中自定义功能区?)

创建 Excel 工作簿项目

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

创建 Excel 工作簿项目

  • 创建一个名为“MyExcelRibbon”的 Excel 工作簿项目。有关更多信息,请参见如何:在 Visual Studio 中创建 Office 项目

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

创建操作窗格

将两个自定义操作窗格添加到项目。稍后会将显示和隐藏这些操作窗格给自定义选项卡上的按钮。

创建操作窗格

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

  2. 添加新项 对话框中,选择" ActionsPaneControl,然后选择 添加

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

  3. 在**“工具箱”“公共控件”**选项卡中,将一个标签添加到设计器图面。

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

  5. 重复步骤 1 至 5,再创建一个操作窗格和标签。将第二个标签的**“Text”**属性设置为“操作窗格 2”。

创建自定义选项卡

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

创建自定义选项卡

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

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

  3. 将新功能区的名称。MyRibbon,然后选择 添加

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

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

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

  6. 将**“ControlId”**属性设置为“我的自定义选项卡”。

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

  8. 在**“属性”窗口中,将“Label”**设置为“操作窗格管理器”。

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

  10. 选择 button1

  11. 在**“属性”窗口中,将“Label”**设置为“显示操作窗格 1”。

  12. 将另一个按钮添加到**“group1”,并将“Label”**属性设置为“显示操作窗格 2”。

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

  14. 将**“Label”**属性设置为“隐藏操作窗格”。

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

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

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

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

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

    Dim actionsPane1 As New ActionsPaneControl1()
    Dim actionsPane2 As New ActionsPaneControl2()
    
    ActionsPaneControl1 actionsPane1 = new ActionsPaneControl1();
    ActionsPaneControl2 actionsPane2 = new ActionsPaneControl2();
    
  3. 将 MyRibbon_Load 方法替换为以下代码。这段代码会将操作窗格对象添加到 ActionsPane.Controls 集合中,并在视图中这些隐藏对象。visual C# 代码还将委托附加到多个功能区控件事件。

    Private Sub MyRibbon_Load(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs) Handles MyBase.Load
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane1)
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane2)
        actionsPane1.Hide()
        actionsPane2.Hide()
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = False
    End Sub
    
    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 Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles Button1.Click
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
        actionsPane2.Hide()
        actionsPane1.Show()
        ToggleButton1.Checked = False
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles Button2.Click
    
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
        actionsPane1.Hide()
        actionsPane2.Show()
        ToggleButton1.Checked = False
    
    End Sub
    
    
    Private Sub ToggleButton1_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles ToggleButton1.Click
    
        If ToggleButton1.Checked Then
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = False
        Else
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
        End If
    
    End Sub
    
    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 "

    操作窗格将出现,并显示标签“操作窗格 1”。

  4. 选择 显示操作窗格 2 "

    操作窗格将出现,并显示标签“操作窗格 2”。

  5. 选择 隐藏操作窗格

    操作窗格不再可见。

后续步骤

可从以下主题了解有关如何自定义 Office 用户界面的更多信息:

请参见

任务

如何:开始自定义功能区

如何:更改功能区上选项卡的位置

如何:自定义内置选项卡

如何:向 Backstage 视图添加控件

概念

在运行时访问功能区

功能区设计器

自定义 Outlook 功能区

功能区对象模型概述

其他资源

功能区概述