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 应用程序中之前或者将控件添加到动态菜单之前执行。有关更多信息,请参见功能区对象模型概述。
任务 |
成员 |
---|---|
在菜单上显示图像。 |
还可以重用出现在内置功能区控件中的图像。为此,请将 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 示例数据库中获取数据的内容更丰富的示例,请参见演练:在运行时更新功能区上的控件。
若要运行此代码示例,必须先执行下列步骤:
将一个“功能区(可视化设计器)”项添加到 Visual Studio Tools for Office 项目。
在自定义选项卡中添加一个组。
将一个菜单添加到该组。
将该菜单的“(Name)”属性设置为 CustomerMenu。
将该菜单的“Label”属性设置为 Customers。
将该菜单的“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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
另请参见
参考
Microsoft.Office.Tools.Ribbon 命名空间