Menu.GetContextMenu Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает объект ContextMenu, содержащий это меню.
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, содержащий это меню. Значение по умолчанию — null
.
Примеры
В этом примере используется GetContextMenu метод для получения ссылки на контекстное меню, содержащее menuItem1
или menuItem2
отображающее сведения о контекстном меню в окне сообщения. Вы программным способом создаете контекстное меню с двумя элементами New
и Open
. Затем вы добавите функциональные возможности в эти элементы, создав соответствующие обработчики событий. При выполнении примера вы получите окно сообщения, в котором показано, как щелкнуть форму правой кнопкой мыши, чтобы отобразить контекстное меню. Затем при выборе пункта меню вы получите еще одно сообщение, которое сообщает, какой элемент был щелкнут, и отобразит сведения о содержающем контекстном меню. В этом примере требуется, чтобы вы уже создали именованный Form 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 то, в котором содержится это меню. Это свойство возвращаетсяnull
, если меню не содержится в .ContextMenu Это может произойти, если меню содержится в MenuItem MainMenuили, если меню не содержится ни в одном меню. Это свойство можно использовать для определения того, используется ли в настоящее время меню, а также определить, где находится.