Menu::GetContextMenu Method ()
Gets the ContextMenu that contains this menu.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
Return Value
Type: System.Windows.Forms::ContextMenu^The ContextMenu that contains this menu. The default is null.
This method allows you to obtain a reference to the ContextMenu that this menu is contained in. This property returns null if the menu is not contained in a ContextMenu. This can occur if the menu is contained in a MenuItem or MainMenu, or if the menu is not contained in any menu. You can use this property to determine whether a menu is currently being used, and also to determine where.
In this example, you use the GetContextMenu method to obtain a reference to the shortcut menu that contains menuItem1 or menuItem2, and display the shortcut menu information in a message box. You programmatically create a shortcut menu with two items, New and Open. You then add functionality to these items by creating the appropriate event handlers. When you run the example, you get a message box that tells you to right-click the form in order to display the shortcut menu. Then, when you click a menu item, you get another message that tells which item has been clicked and displays the information on the containing shortcut menu. This example requires that you have already created a Form named Form1.
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" ); }
Available since 1.1