次の方法で共有


Menu.GetContextMenu メソッド

メニューを格納している ContextMenu を取得します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

構文

'宣言
Public Function GetContextMenu As ContextMenu
'使用
Dim instance As Menu
Dim returnValue As ContextMenu

returnValue = instance.GetContextMenu
public ContextMenu GetContextMenu ()
public:
ContextMenu^ GetContextMenu ()
public ContextMenu GetContextMenu ()
public function GetContextMenu () : ContextMenu

戻り値

メニューを格納している ContextMenu。既定値は null 参照 (Visual Basic では Nothing) です。

解説

このメソッドを使用して、このメニューが格納されている ContextMenu への参照を取得できます。メニューが ContextMenu に格納されていない場合、このプロパティは null 参照 (Visual Basic では Nothing) を返します。null が返される可能性があるのは、メニューが MenuItem または MainMenu に格納されている場合、またはメニューがどのメニューにも格納されていない場合です。このプロパティを使用して、メニューが現在使用されているかどうかを判断したり、メニューが現在使用されている場所も判断できます。

使用例

この例では、GetContextMenu メソッドを使用して menuItem1 または menuItem2 を含むショートカット メニューへの参照を取得し、メッセージ ボックスにショートカット メニューに関する情報を表示します。プログラムによって、2 つの項目、New および Open のあるショートカット メニューを作成します。次に、適切なイベント ハンドラを作成することによって、これらの項目に機能を追加します。この例を実行すると、フォームを右クリックしてショートカット メニューを表示するように指示するメッセージ ボックスが表示されます。次に、メニュー項目をクリックすると、どの項目がクリックされたかを通知するメッセージが表示されます。このメッセージには、格納しているショートカット メニューに関する情報も示されています。この例では、Form1 という名前の Form が既に作成されている必要があります。

Public Sub AddContextmenu()
    ' Create a shortcut menu.
    Dim m As New ContextMenu()
    Me.ContextMenu = m

    ' Create MenuItem objects.
    Dim menuItem1 As New MenuItem()
    Dim menuItem2 As New MenuItem()

    ' Set the Text property.
    menuItem1.Text = "New"
    menuItem2.Text = "Open"

    ' Add menu items to the MenuItems collection.
    m.MenuItems.Add(menuItem1)
    m.MenuItems.Add(menuItem2)

    ' Display the starting message.
    MessageBox.Show("Right-click the form to display the shortcut menu items")

    ' Add functionality to the menu items. 
    AddHandler menuItem1.Click, AddressOf Me.menuItem1_Click
    AddHandler menuItem2.Click, AddressOf Me.menuItem2_Click

End Sub 'AddContextmenu


Private Sub menuItem1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim textReport As String = "You clicked the New menu item. " + vbCr + "It is contained in the following shortcut menu: " + vbCr + vbCr

    ' Get information on the shortcut menu in which menuitem1 is contained.
    textReport += ContextMenu.GetContextMenu().ToString()

    ' Display the shortcut menu information in a message box.
    MessageBox.Show(textReport, "The ContextMenu Information")
End Sub 'menuItem1_Click


Private Sub menuItem2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim textReport As String = "You clicked the Open menu item. " + vbCr + "It is contained in the following shortcut menu: " + vbCr + vbCr

    ' Get information on the shortcut menu in which menuitem1 is contained.
    textReport += ContextMenu.GetContextMenu().ToString()

    ' Display the shortcut menu information in a message box.
    MessageBox.Show(textReport, "The ContextMenu Information")
End Sub 'menuItem2_Click
public void AddContextmenu()
{
    // Create a shortcut menu.
    ContextMenu m = new ContextMenu();
    this.ContextMenu= m;

    // Create MenuItem objects.
    MenuItem menuItem1 = new MenuItem();
    MenuItem menuItem2 = new MenuItem();
    
    // Set the Text property.
    menuItem1.Text = "New";
    menuItem2.Text = "Open";

    // Add menu items to the MenuItems collection.
    m.MenuItems.Add(menuItem1);
    m.MenuItems.Add(menuItem2);

    // Display the starting message.
    MessageBox.Show("Right-click the form to display the shortcut menu items");


    // Add functionality to the menu items. 
    menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
    menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
    }

private void menuItem1_Click(object sender, System.EventArgs e)
{
    string textReport =    "You clicked the New menu item. \n" +
        "It is contained in the following shortcut menu: \n\n"; 

    // Get information on the shortcut menu in which menuitem1 is contained.
    textReport += ContextMenu.GetContextMenu().ToString();

    // Display the shortcut menu information in a message box.
    MessageBox.Show(textReport,"The ContextMenu Information");        
}

private void menuItem2_Click(object sender, System.EventArgs e)
{
    string textReport =    "You clicked the Open menu item. \n" +
        "It is contained in the following shortcut menu: \n\n"; 

    // Get information on the shortcut menu in which menuitem1 is contained.
    textReport += ContextMenu.GetContextMenu().ToString();

    // Display the shortcut menu information in a message box.
    MessageBox.Show(textReport,"The ContextMenu Information");        
}
public:
   [STAThread]
   void AddContextmenu()
   {
      // Create a shortcut menu.
      System::Windows::Forms::ContextMenu^ m = gcnew System::Windows::Forms::ContextMenu;
      this->ContextMenu = m;

      // Create MenuItem objects.
      MenuItem^ menuItem1 = gcnew MenuItem;
      MenuItem^ menuItem2 = gcnew MenuItem;

      // Set the Text property.
      menuItem1->Text = "New";
      menuItem2->Text = "Open";

      // Add menu items to the MenuItems collection.
      m->MenuItems->Add( menuItem1 );
      m->MenuItems->Add( menuItem2 );

      // Display the starting message.
      MessageBox::Show( "Right-click the form to display the shortcut menu items" );

      // Add functionality to the menu items. 
      menuItem1->Click += gcnew System::EventHandler( this, &Form1::menuItem1_Click );
      menuItem2->Click += gcnew System::EventHandler( this, &Form1::menuItem2_Click );
   }

private:
   void menuItem1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      String^ textReport = "You clicked the New menu item. \n"
      "It is contained in the following shortcut menu: \n\n";

      // Get information on the shortcut menu in which menuitem1 is contained.
      textReport = String::Concat( textReport, this->ContextMenu->GetContextMenu()->ToString() );

      // Display the shortcut menu information in a message box.
      MessageBox::Show( textReport, "The ContextMenu Information" );
   }

   void menuItem2_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      String^ textReport = "You clicked the Open menu item. \n"
      "It is contained in the following shortcut menu: \n\n";

      // Get information on the shortcut menu in which menuitem1 is contained.
      textReport = String::Concat( textReport, this->ContextMenu->GetContextMenu()->ToString() );

      // Display the shortcut menu information in a message box.
      MessageBox::Show( textReport, "The ContextMenu Information" );
   }
    // Create a shortcut menu.
    ContextMenu m = new ContextMenu();
    this.set_ContextMenu(m);

    // Create MenuItem objects.
    MenuItem menuItem1 = new MenuItem();
    MenuItem menuItem2 = new MenuItem();

    // Set the Text property.
    menuItem1.set_Text("New");
    menuItem2.set_Text("Open");

    // Add menu items to the MenuItems collection.
    m.get_MenuItems().Add(menuItem1);
    m.get_MenuItems().Add(menuItem2);

    // Display the starting message.
    MessageBox.Show("Right-click the form to display the shortcut menu " 
        + " items");

    // Add functionality to the menu items. 
    menuItem1.add_Click(new System.EventHandler(this.menuItem1_Click));
    menuItem2.add_Click(new System.EventHandler(this.menuItem2_Click));
} //AddContextmenu

private void menuItem1_Click(Object sender, System.EventArgs e)
{
    String textReport = "You clicked the New menu item. \n" 
        + "It is contained in the following shortcut menu: \n\n";

    // Get information on the shortcut menu in which menuitem1 is contained.
    textReport += get_ContextMenu().ToString();

    // Display the shortcut menu information in a message box.
    MessageBox.Show(textReport, "The ContextMenu Information");
} //menuItem1_Click

private void menuItem2_Click(Object sender, System.EventArgs e)
{
    String textReport = "You clicked the Open menu item. \n" 
        + "It is contained in the following shortcut menu: \n\n";

    // Get information on the shortcut menu in which menuitem1 is contained.
    textReport += get_ContextMenu().ToString();

    // Display the shortcut menu information in a message box.
    MessageBox.Show(textReport, "The ContextMenu Information");
} //menuItem2_Click
public void AddContextmenu()
{
    // Create a shortcut menu.
    ContextMenu m = new ContextMenu();
    this.set_ContextMenu(m);

    // Create MenuItem objects.
    MenuItem menuItem1 = new MenuItem();
    MenuItem menuItem2 = new MenuItem();

    // Set the Text property.
    menuItem1.set_Text("New");
    menuItem2.set_Text("Open");

    // Add menu items to the MenuItems collection.
    m.get_MenuItems().Add(menuItem1);
    m.get_MenuItems().Add(menuItem2);

    // Display the starting message.
    MessageBox.Show("Right-click the form to display the shortcut menu " 
        + " items");

    // Add functionality to the menu items. 
    menuItem1.add_Click(new System.EventHandler(this.menuItem1_Click));
    menuItem2.add_Click(new System.EventHandler(this.menuItem2_Click));
} //AddContextmenu

private void menuItem1_Click(Object sender, System.EventArgs e)
{
    String textReport = "You clicked the New menu item. \n" 
        + "It is contained in the following shortcut menu: \n\n";

    // Get information on the shortcut menu in which menuitem1 is contained.
    textReport += get_ContextMenu().ToString();

    // Display the shortcut menu information in a message box.
    MessageBox.Show(textReport, "The ContextMenu Information");
} //menuItem1_Click

private void menuItem2_Click(Object sender, System.EventArgs e)
{
    String textReport = "You clicked the Open menu item. \n" 
        + "It is contained in the following shortcut menu: \n\n";

    // Get information on the shortcut menu in which menuitem1 is contained.
    textReport += get_ContextMenu().ToString();

    // Display the shortcut menu information in a message box.
    MessageBox.Show(textReport, "The ContextMenu Information");
} //menuItem2_Click

プラットフォーム

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 2.0、1.1、1.0

参照

関連項目

Menu クラス
Menu メンバ
System.Windows.Forms 名前空間
GetMainMenu