Menu.GetContextMenu Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the ContextMenu that contains this menu.
public:
System::Windows::Forms::ContextMenu ^ GetContextMenu();
public System.Windows.Forms.ContextMenu GetContextMenu ();
member this.GetContextMenu : unit -> System.Windows.Forms.ContextMenu
Public Function GetContextMenu () As ContextMenu
Returns
The ContextMenu that contains this menu. The default is null
.
Examples
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" );
}
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 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
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
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
Remarks
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.