RibbonMenu 类 (2007 system)

更新:2007 年 11 月

表示功能区选项卡上的菜单或 Microsoft Office 菜单上的菜单。

命名空间:  Microsoft.Office.Tools.Ribbon
程序集:  Microsoft.Office.Tools.Common.v9.0(在 Microsoft.Office.Tools.Common.v9.0.dll 中)

语法

声明
<ToolboxBitmapAttribute(GetType(RibbonMenu), "RibbonMenu.bmp")> _
Public NotInheritable Class RibbonMenu _
    Inherits RibbonControl
用法
Dim instance As RibbonMenu
[ToolboxBitmapAttribute(typeof(RibbonMenu), "RibbonMenu.bmp")]
public sealed class RibbonMenu : RibbonControl

备注

在将“Menu”控件从“工具箱”的“Office 功能区控件”选项卡拖入功能区设计器时,Visual Studio Tools for Office 将创建 RibbonMenu 类的实例。

常见任务

下表列出了对常见任务有用的成员。所有这些任务都可以在设计时执行。其中一些任务只能在运行时执行,并且只能在将功能区加载到 Office 应用程序中之前或者将控件添加到动态菜单之前执行。有关更多信息,请参见功能区对象模型概述

任务

成员

在菜单上显示图像。

使用 ImageImageName 属性。

还可以重用出现在内置功能区控件中的图像。为此,请将 OfficeImageId 设置为要显示为菜单图标的内置 Microsoft Office 图像的 ID。

更改菜单的大小。

ControlSize 属性设置为您需要的值。例如,对于大菜单,将其设置为 Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge

更改菜单项的大小。

ItemSize 属性设置为您需要的值。例如,若要显示较大的项,请将其设置为 Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge

支持在运行时更改菜单(例如,支持控件在运行时添加到菜单)。

Dynamic 属性设置为 true。

访问菜单中的控件,将控件添加到菜单,或者从菜单中移除控件。

使用 Items 属性。

将菜单添加到 Microsoft Office 菜单、组或其他可以包含菜单的控件。

使用 RibbonMenu 构造函数创建 RibbonMenu 类的实例,然后将新的 RibbonMenu 添加到 Microsoft Office 菜单、组或控件的 Items 属性。

示例

下面的示例演示如何在运行时向现有菜单中添加子菜单并填充它。

有关在运行时更新控件,且使用语言集成查询 (LINQ) 从 AdventureWorks 示例数据库中获取数据的内容更丰富的示例,请参见演练:在运行时更新功能区上的控件

若要运行此代码示例,必须先执行下列步骤:

  1. 将一个“功能区(可视化设计器)”项添加到 Visual Studio Tools for Office 项目。

  2. 在自定义选项卡中添加一个组。

  3. 将一个菜单添加到该组。

  4. 将该菜单的“(Name)”属性设置为 CustomerMenu。

  5. 将该菜单的“Label”属性设置为 Customers。

  6. 将该菜单的“Dynamic”属性设置为 true。

    这样,在功能区加载到 Office 应用程序中之后,就可在运行时添加和移除菜单上的控件。

Private Sub PopulateCustomerMenu()
    ' Add two sub-menus to EmployeeMenu and populate each sub-menu
    ' First sub-menu
    Dim subMenu1 As New RibbonMenu()
    subMenu1.Dynamic = True
    subMenu1.Label = "A - M"
    subMenu1.Items.Add(New RibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Hall, Don"
    subMenu1.Items.Add(New RibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Valdez, Rachel"
    CustomerMenu.Items.Add(subMenu1)

    ' Second sub-menu
    Dim subMenu2 As New RibbonMenu()
    subMenu2.Dynamic = True
    subMenu2.Label = "N - Z"
    subMenu2.Items.Add(New RibbonToggleButton())
    CType(subMenu2.Items.Last(), RibbonToggleButton).Label = "Robinson, Alex"
    CustomerMenu.Items.Add(subMenu2)

End Sub
private void PopulateCustomerMenu()
{
    // Add two sub-menus to EmployeeMenu and populate each sub-menu
    // First sub-menu
    RibbonMenu subMenu1 = new RibbonMenu();
    subMenu1.Dynamic = true;
    subMenu1.Label = "A - M";
    subMenu1.Items.Add(new RibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Hall, Don";
    subMenu1.Items.Add(new RibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Valdez, Rachel";
    CustomerMenu.Items.Add(subMenu1);

    // Second sub-menu
    RibbonMenu subMenu2 = new RibbonMenu();
    subMenu2.Dynamic = true;
    subMenu2.Label = "N - Z";
    subMenu2.Items.Add(new RibbonToggleButton());
    ((RibbonToggleButton)subMenu2.Items.Last()).Label = "Robinson, Alex";
    CustomerMenu.Items.Add(subMenu2);
}

继承层次结构

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      Microsoft.Office.Tools.Ribbon.RibbonComponent
        Microsoft.Office.Tools.Ribbon.RibbonControl
          Microsoft.Office.Tools.Ribbon.RibbonMenu

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

另请参见

参考

RibbonMenu 成员

Microsoft.Office.Tools.Ribbon 命名空间

其他资源

功能区概述

功能区设计器

功能区对象模型概述

如何:开始自定义功能区