RibbonMenu 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示功能区选项卡或 Microsoft Office 菜单上的菜单。
public interface class RibbonMenu : IDisposable, Microsoft::Office::Tools::Ribbon::RibbonControl, System::ComponentModel::IComponent
[System.Runtime.InteropServices.Guid("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")]
public interface RibbonMenu : IDisposable, Microsoft.Office.Tools.Ribbon.RibbonControl, System.ComponentModel.IComponent
[<System.Runtime.InteropServices.Guid("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")>]
type RibbonMenu = interface
interface RibbonControl
interface RibbonComponent
interface IComponent
interface IDisposable
Public Interface RibbonMenu
Implements IComponent, IDisposable, RibbonControl
- 属性
- 实现
示例
以下示例演示如何在运行时向现有菜单添加和填充子菜单。
有关在运行时更新控件并涉及使用 linQ (LINQ) Language-Integrated 查询从 AdventureWorks 示例数据库获取数据的更丰富示例,请参阅 演练:在运行时更新功能区上的控件。
若要运行此代码示例,必须先执行以下步骤:
将功能区 (Visual Designer) 项添加到 Office 项目。
将组添加到自定义选项卡。
将菜单添加到组。
将菜单 的 (Name) 属性设置为
CustomerMenu
。将菜单的 Label 属性设置为 Customers。
将菜单的 Dynamic 属性设置为
true
。这样,在功能区加载到 Office 应用程序中之后,就可以在运行时添加和删除菜单上的控件。
private void PopulateCustomerMenu()
{
// Add two sub-menus to EmployeeMenu and populate each sub-menu
// First sub-menu
RibbonMenu subMenu1 = this.Factory.CreateRibbonMenu();
subMenu1.Dynamic = true;
subMenu1.Label = "A - M";
subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
((RibbonToggleButton)subMenu1.Items.Last()).Label = "Hall, Don";
subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
((RibbonToggleButton)subMenu1.Items.Last()).Label = "Valdez, Rachel";
CustomerMenu.Items.Add(subMenu1);
// Second sub-menu
RibbonMenu subMenu2 = this.Factory.CreateRibbonMenu();
subMenu2.Dynamic = true;
subMenu2.Label = "N - Z";
subMenu2.Items.Add(this.Factory.CreateRibbonToggleButton());
((RibbonToggleButton)subMenu2.Items.Last()).Label = "Robinson, Alex";
CustomerMenu.Items.Add(subMenu2);
}
Private Sub PopulateCustomerMenu()
' Add two sub-menus to EmployeeMenu and populate each sub-menu
' First sub-menu
Dim subMenu1 As RibbonMenu = Me.Factory.CreateRibbonMenu()
subMenu1.Dynamic = True
subMenu1.Label = "A - M"
subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Hall, Don"
subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Valdez, Rachel"
CustomerMenu.Items.Add(subMenu1)
' Second sub-menu
Dim subMenu2 As RibbonMenu = Me.Factory.CreateRibbonMenu()
subMenu2.Dynamic = True
subMenu2.Label = "N - Z"
subMenu2.Items.Add(Me.Factory.CreateRibbonToggleButton())
CType(subMenu2.Items.Last(), RibbonToggleButton).Label = "Robinson, Alex"
CustomerMenu.Items.Add(subMenu2)
End Sub
注解
将“菜单”控件从“工具箱”的“Office 功能区控件”选项卡拖动到功能区Designer时,Visual Studio 会创建一个 RibbonMenu 对象。
可以在运行时使用 CreateRibbonMenu 对象的 方法RibbonFactory创建 RibbonMenu 。
可通过两种方法来访问 RibbonFactory 对象:
通过使用 Ribbon 类的
Factory
属性。 可从 Ribbon 类中的代码使用此方法。通过使用
Globals.Factory.GetRibbonFactory
方法。 可从 Ribbon 类外的代码使用此方法。
常见任务
下表列出了对常见任务有用的成员。 所有这些任务都可以在设计时执行。 其中一些任务只能在运行时在将功能区加载到 Office 应用程序之前或在运行时将控件添加到动态菜单之前执行。 有关详细信息,请参阅 功能区对象模型概述。
任务 | 成员 |
---|---|
在菜单上显示图像。 | Image使用 或 ImageName 属性。 还可以重复使用内置功能区控件中显示的图像。 为此,请将 设置为 OfficeImageId 要显示为菜单图标的内置 Microsoft Office 图像的 ID。 |
更改菜单的大小。 | 将 ControlSize 属性设置为所需的值。 例如,对于大菜单,请将其设置为 Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge 。 |
更改菜单中项的大小。 | 将 ItemSize 属性设置为所需的值。 例如,若要显示较大的项,请将其设置为 Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge 。 |
在运行时启用对菜单的更改 (例如,启用在运行时) 添加到菜单中的控件。 | 将 Dynamic 属性设置为 true 。 |
访问菜单中的控件、向菜单添加控件或从菜单中删除控件。 | 使用 Items 属性。 |
将菜单添加到 Microsoft Office 菜单、组或可包含菜单的另一个控件。 | RibbonMenu将 添加到 Items Microsoft Office 菜单、组或控件的 属性。 |
注意
此接口由 Visual Studio Tools for Office Runtime 实现。 不应在代码中实现此接口。 有关更多信息,请参见 Visual Studio Tools for Office Runtime Overview。
使用情况
本文档介绍面向 .NET Framework 4 或更高版本的 Office 项目中所用的此类型的版本。 在面向 .NET Framework 3.5 的项目中,此类型可能具有不同的成员,因此本文档为此类型提供的代码示例可能并不适用。 有关在面向 .NET Framework 3.5 的项目中使用此类型的文档,请参阅 Visual Studio 2008 文档中的以下参考部分:http://go.microsoft.com/fwlink/?LinkId=160658。
属性
ControlSize |
获取或设置菜单的大小。 |
Description |
获取或设置当前菜单上显示的文本。 |
Dynamic |
获取或设置一个值,该值指示是否可在运行时修改菜单。 |
Enabled |
获取或设置一个值,该值指示是否启用此 RibbonControl。 (继承自 RibbonControl) |
Id |
获取一个字符串,Microsoft Office 将用其标识此 RibbonControl 对象。 (继承自 RibbonControl) |
Image |
获取或设置在菜单上显示的图像。 |
ImageName |
获取或设置一个名称,该名称可用于在 LoadImage 事件处理程序中标识菜单的图像。 |
Items |
获取菜单上的控件的集合。 |
ItemSize |
获取或设置菜单上控件的大小。 |
KeyTip |
获取或设置菜单的键盘访问键。 |
Label |
获取或设置菜单所显示的文本。 |
Name |
获取或设置此 RibbonComponent 的名称。 (继承自 RibbonComponent) |
OfficeImageId |
如果要使用内置 Microsoft Office 图标,请获取或设置要在菜单上显示的图像。 |
Parent |
获取一个 RibbonComponent,表示此 RibbonComponent 的父级。 (继承自 RibbonComponent) |
Position |
获取或设置菜单的位置(如果该菜单在 Microsoft Office 菜单上)。 |
Ribbon |
获取包含控件层次结构的顶级 Ribbon 对象。 (继承自 RibbonComponent) |
RibbonUI |
获取 Microsoft Office 应用程序提供给功能区扩展性代码的 IRibbonUI 实例。 (继承自 RibbonComponent) |
ScreenTip |
获取或设置用户将指针移到菜单上方时显示的提示文本。 |
ShowImage |
获取或设置一个值,该值指示与菜单关联的图像是否可见。 |
ShowLabel |
获取或设置一个值,该值指示菜单的标签是否可见。 |
SuperTip |
获取或设置用户将指针移到菜单上时显示的多行提示文本。 |
Tag |
获取或设置与此 RibbonComponent 关联的应用程序特定的数据。 (继承自 RibbonComponent) |
Title |
获取或设置标题,此标题在用户展开添加到 Microsoft Office 菜单的菜单时显示。 |
Visible |
获取或设置一个值,该值指示此 RibbonControl 是否可见。 (继承自 RibbonControl) |
方法
PerformDynamicLayout() |
如果 RibbonComponent 具有一个动态父级(如动态菜单)且布局未挂起,则调用父控件的 Microsoft.Office.Core.IRibbonUI.InvalidateControl 方法。 (继承自 RibbonComponent) |
PerformLayout() |
如果 具有一个父级,且布局未挂起,则调用 RibbonComponentMicrosoft.Office.Core.IRibbonUI.InvalidateControl。 (继承自 RibbonComponent) |
ResumeLayout() |
取消 SuspendLayout() 方法的效果。 (继承自 RibbonComponent) |
ResumeLayout(Boolean) |
取消 SuspendLayout() 方法的效果。 (继承自 RibbonComponent) |
SuspendLayout() |
阻止 Microsoft Office 应用程序刷新功能区上的控件状态。 (继承自 RibbonComponent) |
事件
ItemsLoading |
在运行时将控件或嵌套菜单加载到当前菜单中时发生。 |