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 應用程式之前的執行階段,或在控制項加入至動態功能表之前的執行階段進行。 如需詳細資訊,請參閱功能區物件模型概觀。
工作 |
成員 |
---|---|
在功能表上顯示影像。 |
您也可以重複使用出現在內建功能區控制項中的影像。 若要這樣做,請將 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 為目標之 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 範例資料庫取得資料的範例,請參閱逐步解說:在執行階段更新功能區中的控制項。
若要執行這個程式碼範例,您必須先執行下列步驟:
將 功能區 (視覺化設計工具) 項目加入至 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 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 命名空間