RibbonMenu 類別 (2007 系統)
更新: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 建構函式 (Constructor) 建立 RibbonMenu 類別的執行個體,然後將新的 RibbonMenu 加入至 Microsoft Office 功能表、群組或控制項的 Items 屬性。 |
範例
下列範例示範如何在執行階段將子功能表加入和填入 (Populate) 至現有的功能表。
如需更多在執行階段更新控制項,且涉及使用 Language-Integrated Queries (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
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。
請參閱
參考
Microsoft.Office.Tools.Ribbon 命名空間