Menu.GetContextMenu 方法
定义
获取包含该菜单的 ContextMenu。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
返回
包含该菜单的 ContextMenu。The ContextMenu that contains this menu. 默认值为 null
。The default is null
.
示例
在此示例中,使用GetContextMenu方法获取对包含menuItem1
或menuItem2
的快捷菜单的引用,并在消息框中显示快捷菜单信息。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. 以编程方式创建一个快捷菜单,其中包含New
两Open
个项:和。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. 此示例要求您已经创建了一个名Form为Form1
的。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
注解
此方法允许你获取对包含该菜单的ContextMenu的引用。This method allows you to obtain a reference to the ContextMenu that this menu is contained in. 如果菜单未null
包含ContextMenu在中,则此属性返回。This property returns null
if the menu is not contained in a ContextMenu. 如果菜单包含在MenuItem或MainMenu中,或者如果菜单不包含在任何菜单中,则会发生这种情况。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.