次の方法で共有


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

解説

[ツールボックス] の [Office リボン コントロール] タブから Menu コントロールをリボン デザイナにドラッグすると、Visual Studio Tools for Office により RibbonMenu クラスのインスタンスが作成されます。

一般的なタスク

一般的なタスクで有用なメンバを次の表に示します。これらのタスクは、すべてデザイン時に実行できます。一部のタスクは、実行時にリボンが 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 コンストラクタを使用して RibbonMenu クラスのインスタンスを作成し、新しい RibbonMenu を Microsoft Office メニュー、グループ、またはコントロールのItems プロパティに追加します。

次の例では、実行時に既存のメニューにサブメニューを追加し、設定する方法を示します。

統合言語クエリ (LINQ: Language-Integrated Queries) を使用して、実行時にコントロールを更新し、AdventureWorks サンプル データベースからデータを取得する機能豊富な例については、「チュートリアル : 実行時のリボン コントロールの更新」を参照してください。

このコード例を実行するには、最初に次の手順を実行する必要があります。

  1. リボン (ビジュアル デザイナ) アイテムを Visual Studio Tools for 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 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) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

参照

参照

RibbonMenu メンバ

Microsoft.Office.Tools.Ribbon 名前空間

その他の技術情報

リボンの概要

リボン デザイナ

リボン オブジェクト モデルの概要

方法 : リボンのカスタマイズの概要