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

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Excel 2007

  • Word 2007

  • Outlook 2007

  • PowerPoint 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

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

本演练阐释以下任务:

  • 创建操作窗格。

  • 创建自定义选项卡。

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

Bb386104.alert_note(zh-cn,VS.90).gif说明:

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

先决条件

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

  • Visual Studio Tools for Office(Visual Studio 2008 专业版 和 Visual Studio Team System 的可选组件)。

  • Microsoft Office Excel 2007。

默认情况下,Visual Studio Tools for Office 随列出的 Visual Studio 版本一起安装。若要检查它是否已安装,请参见安装 Visual Studio Tools for Office

链接到视频有关视频演示,请参见 Video How to: Creating a Custom Tab by Using the Ribbon Designer(视频帮助:使用功能区设计器创建自定义选项卡)。

创建 Excel 工作簿项目

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

创建 Excel 工作簿项目

  • 创建一个名为“我的 Excel 功能区”的 Excel 2007 工作簿项目。有关更多信息,请参见如何:创建 Visual Studio Tools for Office 项目

    Visual Studio 将在设计器中打开新的工作簿,并将“我的 Excel 功能区”项目添加到“解决方案资源管理器”。

创建操作窗格

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

创建操作窗格

  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. 在功能区设计器中,单击“group1”。

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

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

  7. 单击“button1”将其选中。

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

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

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

  11. 将“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. 在 C# 中,必须将以下事件处理程序添加到构造函数。有关创建事件处理程序的信息,请参见如何:使用 Visual Studio Tools for Office 创建事件处理程序

    this.button1.Click += new System.EventHandler
        <Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs>
            (this.button1_Click);
    this.button2.Click += new System.EventHandler
        <Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs>
            (this.button2_Click);
    this.toggleButton1.Click += new System.EventHandler
        <Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs>
            (this.toggleButton1_Click);
    this.Load += new System.EventHandler
        <Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs>
            (this.MyRibbon_Load);
    
  4. 将下面的代码添加到 MyRibbon_Load 事件中。这段代码将操作窗格对象添加到操作窗格 Microsoft.Office.Tools.ActionsPane.Controls 集合并在视图中隐藏这些对象。

    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;
    }
    
  5. 将以下三个事件处理程序方法添加到 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()
    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()
    
    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();
    }
    
    private void button2_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true;
        actionsPane1.Hide();
        actionsPane2.Show();
    
    }
    
    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 用户界面的更多信息:

请参见

任务

如何:开始自定义功能区

如何:更改功能区上的选项卡的顺序

如何:自定义内置选项卡

如何:自定义 Microsoft Office 菜单

概念

在运行时访问功能区

功能区概述

功能区设计器

自定义 Outlook 功能区

功能区对象模型概述