MenuItem クラス

MainMenu または ContextMenu 内に表示される個別の項目を表します。

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

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

Public Class MenuItem
   Inherits Menu
[C#]
public class MenuItem : Menu
[C++]
public __gc class MenuItem : public Menu
[JScript]
public class MenuItem extends Menu

スレッドセーフ

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

解説

MenuItem を表示するには、 MainMenu または ContextMenu に追加する必要があります。サブメニューを作成するには、 MenuItem オブジェクトを親 MenuItemMenuItems プロパティに追加します。

MenuItem クラスには、メニュー項目の外観と機能を設定するためのプロパティがあります。メニュー項目の横にチェック マークを表示するには、 Checked プロパティを使用します。この機能を使用すると、一度に 1 つしか選択できない複数のメニュー項目の中で、選択されている 1 つのメニュー項目を識別できます。たとえば、 TextBox コントロールのテキストの色を設定するメニュー項目が複数ある場合、 Checked プロパティを使用して、現在選択されている色を識別できます。 Shortcut プロパティを使用すると、組み合わせて押すことによってメニュー項目を選択できるショートカット キーを定義できます。

マルチ ドキュメント インターフェイス (MDI: Multiple Document Interface) アプリケーションに表示される MenuItem オブジェクトの場合、 MergeMenu メソッドを使用して、MDI 親のメニューと、その子フォームのメニューをマージし、統合したメニュー構造を作成できます。 MenuItem は、複数の場所 (MainMenuContextMenu など) で同時には使用できないため、別の場所で使用する場合は、 CloneMenu メソッドを使用して MenuItem のコピーを作成できます。

Popup イベントを使用すると、メニューを表示する前にタスクを実行できるようになります。たとえば、このイベントを処理するイベント ハンドラを作成し、コードの状態に基づいてメニュー項目を表示したり非表示にしたりできます。 Select イベントを使用すると、ユーザーがアプリケーションのメニュー項目上にマウス カーソルを置いたときに、その項目に関する詳しいヘルプを表示するなどのタスクを実行できます。

使用例

[Visual Basic, C#, C++] フォームで使用するメニュー構造を作成する例を次に示します。この例では、トップレベル メニューの項目を表す 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 内)

参照

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