RibbonMenu 介面

表示功能區索引標籤或 Microsoft Office 功能表上的功能表。

命名空間:  Microsoft.Office.Tools.Ribbon
組件:  Microsoft.Office.Tools.Common (在 Microsoft.Office.Tools.Common.dll 中)

語法

'宣告
<GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")> _
Public Interface RibbonMenu _
    Inherits RibbonControl, RibbonComponent, IComponent, IDisposable
[GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")]
public interface RibbonMenu : RibbonControl, 
    RibbonComponent, IComponent, IDisposable

RibbonMenu 型別會公開下列成員。

屬性

  名稱 說明
公用屬性 ControlSize 取得或設定功能表的大小。
公用屬性 Description 取得或設定出現在目前功能表上的文字。
公用屬性 Dynamic 取得或設定值,指出是否可以在執行階段修改功能表。
公用屬性 Enabled 取得或設定值,指出此 RibbonControl 是否已啟用。 (繼承自 RibbonControl)。
公用屬性 Id 取得 Microsoft Office 用來識別這個 RibbonControl 物件的字串。 (繼承自 RibbonControl)。
公用屬性 Image 取得或設定顯示在功能表上的影像。
公用屬性 ImageName 取得或設定可在 LoadImage 事件處理常式中用來識別功能表影像的名稱。
公用屬性 Items 取得功能表上的控制項集合。
公用屬性 ItemSize 取得或設定功能表上的控制項大小。
公用屬性 KeyTip 取得或設定功能表的鍵盤便捷鍵 (Access Key)。
公用屬性 Label 取得或設定功能表顯示的文字。
公用屬性 Name 取得或設定這個 RibbonComponent 的名稱。 (繼承自 RibbonComponent)。
公用屬性 OfficeImageId 取得或設定要顯示在功能表上的影像 (如果您想要使用內建 Microsoft Office 圖示的話)。
公用屬性 Parent 取得 RibbonComponent,表示這個 RibbonComponent 的父代 (Parent)。 (繼承自 RibbonComponent)。
公用屬性 Position 取得或設定功能表的位置 (如果功能表在 Microsoft Office 功能表上的話)。
公用屬性 Ribbon 取得包含控制項階層架構的最上層 Ribbon 物件。 (繼承自 RibbonComponent)。
公用屬性 RibbonUI 基礎架構。取得 Microsoft Office 應用程式提供給功能區擴充性程式碼的 IRibbonUI 執行個體。 (繼承自 RibbonComponent)。
公用屬性 ScreenTip 取得或設定當使用者將游標移至功能表上方時所顯示的提示文字。
公用屬性 ShowImage 取得或設定值,指出與功能表關聯的影像是否可見。
公用屬性 ShowLabel 取得或設定值,指出功能表的標籤是否可見。
公用屬性 Site 取得或設定與 IComponent 相關聯的 ISite。 (繼承自 IComponent)。
公用屬性 SuperTip 取得或設定當使用者將游標移至功能表上方時所顯示的多行提示文字。
公用屬性 Tag 取得或設定與這個 RibbonComponent 關聯的應用程式特定資料。 (繼承自 RibbonComponent)。
公用屬性 Title 取得或設定當使用者展開加入至 Microsoft Office 功能表的功能表時所顯示的標題。
公用屬性 Visible 取得或設定值,指出此 RibbonControl 是否為可見的。 (繼承自 RibbonControl)。

回頁首

方法

  名稱 說明
公用方法 Dispose 執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。 (繼承自 IDisposable)。
公用方法 PerformDynamicLayout 如果 RibbonComponent 具有像是動態功能表的動態父代 (Parent),而且配置未暫止,請呼叫父控制項的 Microsoft.Office.Core.IRibbonUI.InvalidateControl 方法。 (繼承自 RibbonComponent)。
公用方法 PerformLayout 如果 RibbonComponent 具有父代且配置未暫止,則會呼叫 Microsoft.Office.Core.IRibbonUI.InvalidateControl。 (繼承自 RibbonComponent)。
公用方法 ResumeLayout() 回復 SuspendLayout 方法的效果。 (繼承自 RibbonComponent)。
公用方法 ResumeLayout(Boolean) 回復 SuspendLayout 方法的效果。 (繼承自 RibbonComponent)。
公用方法 SuspendLayout 防止 Microsoft Office 應用程式重新整理功能區上控制項的狀態。 (繼承自 RibbonComponent)。

回頁首

事件

  名稱 說明
公用事件 Disposed 表示處理元件的 Disposed 事件的方法。 (繼承自 IComponent)。
公用事件 ItemsLoading 會在執行階段,當控制項或巢狀功能表載入至目前功能表時發生。

回頁首

備註

當您將 [功能表] 控制項從 [工具箱] 的 [Office 功能區控制項] 索引標籤拖曳至功能區設計工具時,Visual Studio 會建立 RibbonMenu 物件。

您可以在執行階段中使用 RibbonFactory 物件的 CreateRibbonMenu 方法建立 RibbonMenu。

有兩種方法可以存取 RibbonFactory 物件:

  • 使用功能區類別的 Factory 屬性。 請從功能區類別中的程式碼使用此方法。

  • 使用 Globals.Factory.GetRibbonFactory 方法。 請從功能區類別外的程式碼使用此方法。

一般工作

下表列出適用於一般工作的成員。 這些工作都可以在設計階段進行。 但其中有些工作則只能在功能區載入至 Office 應用程式之前的執行階段,或在控制項加入至動態功能表之前的執行階段進行。 如需詳細資訊,請參閱功能區物件模型概觀

工作

成員

在功能表上顯示影像。

使用 ImageImageName 屬性。

您也可以重複使用出現在內建功能區控制項中的影像。 若要這樣做,請將 OfficeImageId 設定為您要當做功能表圖示顯示之內建 Microsoft Office 影像的 ID。

變更功能表的大小。

ControlSize 屬性設定為您想要的值。 例如,對於大型功能表,將它設定為 Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge

變更功能表中項目的大小。

ItemSize 屬性設定為您想要的值。 例如,若要顯示較大的項目,請將它設定為 Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge

允許在執行階段變更功能表 (例如,允許在執行階段將控制項加入至功能表)。

Dynamic 屬性設為 true。

存取功能表中的控制項、加入控制項至功能表或移除功能表中的控制項。

使用 Items 屬性。

將功能表加入至 Microsoft Office 功能表、群組,或加入至另一個可包含功能表的控制項。

將 RibbonMenu 加入至 Microsoft Office 功能表、群組或控制項中的 Items 屬性。

注意事項注意事項

這個介面是由 Visual Studio Tools for Office Runtime 實作,並不能實作於您的程式碼中。如需詳細資訊,請參閱 Visual Studio Tools for Office Runtime 概觀

使用方式

本文件說明此類型用於以 .NET Framework 4 和 .NET Framework 4.5 為目標之 Office 專案的版本。在以 .NET Framework 3.5 為目標的專案中,此類型可能會有不同的成員,而為此類型提供的程式碼範例可能無法運作。如需此類型在以 .NET Framework 3.5 為目標之專案中的相關文件,請參閱下列 Visual Studio 2008 文件中的參考章節:https://go.microsoft.com/fwlink/?LinkId=160658

範例

下列範例示範如何在執行階段將子功能表加入和填入 (Populate) 至現有的功能表。

如需更多在執行階段更新控制項,且涉及使用 Language-Integrated Queries (LINQ),從 AdventureWorks 範例資料庫取得資料的範例,請參閱逐步解說:在執行階段更新功能區中的控制項

若要執行這個程式碼範例,您必須先執行下列步驟:

  1. 功能區 (視覺化設計工具) 項目加入至 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 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
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);
}

請參閱

參考

Microsoft.Office.Tools.Ribbon 命名空間

其他資源

功能區概觀

功能區設計工具

功能區物件模型概觀

如何:開始自訂功能區