次の方法で共有


Menu クラス

すべてのメニューの基本機能を表します。

この型のすべてのメンバの一覧については、Menu メンバ を参照してください。

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Windows.Forms.Menu
            System.Windows.Forms.ContextMenu
            System.Windows.Forms.MainMenu
            System.Windows.Forms.MenuItem

MustInherit Public Class Menu
   Inherits Component
[C#]
public abstract class Menu : Component
[C++]
public __gc __abstract class Menu : public Component
[JScript]
public abstract class Menu extends Component

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

このクラスは、 MainMenuMenuItemContextMenu の各クラスの基本クラスです。このクラスのインスタンスは作成できません。アプリケーションのメニューは、 MenuItem オブジェクトで構成されています。これらのメニューには、サブメニュー項目を表すその他の MenuItem オブジェクトも含まれます。 MenuItem オブジェクトは、フォームの完全なメニュー構造、またはショートカット メニューを表示するために使用する ContextMenu として表示できるように、 MainMenu に格納できます。このクラスには、すべてのメニュー クラスに共通する機能が用意されています。

多くの基本クラスとは異なり、 Menu クラスは派生クラスを使用して多数のプロパティを定義します。マルチ ドキュメント インターフェイス (MDI: Multiple Document Interface) アプリケーションでメニューを使用している場合は、 MdiListItem プロパティを使用して、アプリケーションで開いている MDI 子フォームのリストを表示する MenuItem を指定できます。 MenuItems プロパティは、メニュー クラスに格納されている MenuItem オブジェクトのリストを格納しています。 MainMenu または ContextMenu の場合、このプロパティは表示されているすべての MenuItem オブジェクトを格納しています。 MenuItem の場合、 MenuItems プロパティは関連付けられているサブメニュー項目を表します。

派生したすべてのメニュー クラスに対して提供されるプロパティの他に、 Menu クラスは、 CloneMenu および MergeMenu などのメソッドも提供します。これらのメソッドを使用すると、既存のメニューから新しいメニューを作成できるだけでなく、2 つのメニュー構造をマージすることもできます。

Menu クラスは、入れ子になったクラス Menu.MenuItemCollection も定義します。このクラスは、 MenuItems プロパティが使用する MenuItem オブジェクトのコレクションを定義します。 Menu.MenuItemCollection クラスのメソッドを使用して、 MainMenuContextMenu 、または MenuItem のメニュー項目を追加したり削除できます。

使用例

[Visual Basic, C#, C++] 派生クラス MenuItem を使用して、フォームのメニュー構造を作成する例を次に示します。このプログラム例では、トップレベル メニューの項目を表す MenuItem を追加して、フォント サイズを選択するためのサブメニュー項目を追加します。さらに、そのサブメニュー項目にアプリケーションの大小のフォントの選択肢を表す 2 つのサブメニュー項目を追加します。この例では、 mainMenu1 という名前の MainMenu オブジェクト、および menuItem1menuItem2menuItem3menuItem4 という名前の 4 つの MenuItem オブジェクトがあることを前提にしています。

 
Public Sub CreateMyMenu()
    ' Set the caption for the top-level menu item.
    menuItem1.Text = "Edit"
    ' Set the caption for the first submenu.
    menuItem2.Text = "Font Size"
    ' Set the caption for menuItem2's first submenu.
    menuItem3.Text = "Small"
    ' Set the checked property to true since this is the default value.
    menuItem3.Checked = True
    ' Define a shortcut key combination for the menu item.
    menuItem3.Shortcut = Shortcut.CtrlS
    ' Set the caption of the second sub menu item of menuItem2.
    menuItem4.Text = "Large"
    ' Define a shortcut key combination for the menu item.
    menuItem4.Shortcut = Shortcut.CtrlL
    ' Set the index of the menu item so it is placed below the first submenu item.
    menuItem4.Index = 1
    ' Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.MenuItems.Add(menuItem3)
    menuItem2.MenuItems.Add(menuItem4)
    ' Add menuItem2 to menuItem1's list of menu items.
    menuItem1.MenuItems.Add(menuItem2)
    ' Add menuItem1 to the MainMenu for displaying.
    mainMenu1.MenuItems.Add(menuItem1)
End Sub


[C#] 
public void CreateMyMenu()
    {
    // Set the caption for the top-level menu item.
    menuItem1.Text = "Edit";
    // Set the caption for the first submenu.
    menuItem2.Text = "Font Size";
    // Set the caption for menuItem2's first submenu.
    menuItem3.Text = "Small";
    // Set the checked property to true since this is the default value.
    menuItem3.Checked = true;
    // Define a shortcut key combination for the menu item.
    menuItem3.Shortcut = Shortcut.CtrlS;
    // Set the caption of the second sub menu item of menuItem2.
    menuItem4.Text = "Large";
    // Define a shortcut key combination for the menu item.
    menuItem4.Shortcut = Shortcut.CtrlL;
    // Set the index of the menu item so it is placed below the first submenu item.
    menuItem4.Index = 1;
    // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.MenuItems.Add(menuItem3);
    menuItem2.MenuItems.Add(menuItem4);
    // Add menuItem2 to menuItem1's list of menu items.
    menuItem1.MenuItems.Add(menuItem2);
    // Add menuItem1 to the MainMenu for displaying.
    mainMenu1.MenuItems.Add(menuItem1);
    }


[C++] 
public:
void CreateMyMenu()
    {
    // Set the caption for the top-level menu item.
    menuItem1->Text = S"Edit";
    // Set the caption for the first submenu.
    menuItem2->Text = S"Font Size";
    // Set the caption for menuItem2's first submenu.
    menuItem3->Text = S"Small";
    // Set the checked property to true since this is the default value.
    menuItem3->Checked = true;
    // Define a shortcut key combination for the menu item.
    menuItem3->Shortcut = Shortcut::CtrlS;
    // Set the caption of the second sub menu item of menuItem2.
    menuItem4->Text = S"Large";
    // Define a shortcut key combination for the menu item.
    menuItem4->Shortcut = Shortcut::CtrlL;
    // Set the index of the menu item so it is placed below the first submenu item.
    menuItem4->Index = 1;
    // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2->MenuItems->Add(menuItem3);
    menuItem2->MenuItems->Add(menuItem4);
    // Add menuItem2 to menuItem1's list of menu items.
    menuItem1->MenuItems->Add(menuItem2);
    // Add menuItem1 to the MainMenu for displaying.
    mainMenu1->MenuItems->Add(menuItem1);
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Windows.Forms

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)

参照

Menu メンバ | System.Windows.Forms 名前空間 | MainMenu | ContextMenu | MenuItem