Поделиться через


ContextMenu.Popup Событие

Определение

Происходит перед отображением контекстного меню.

public:
 event EventHandler ^ Popup;
public event EventHandler Popup;
member this.Popup : EventHandler 
Public Custom Event Popup As EventHandler 

Тип события

Примеры

В следующем примере кода создается обработчик событий для Popup события ContextMenuобъекта . Код в обработчике событий определяет, какой из двух элементов управления именованный PictureBoxpictureBox1 и именованный TextBoxtextBox1 является элементом управления, отображающим контекстное меню. В зависимости от того, какой элемент управления привел к отображению ContextMenu контекстного меню, элемент управления добавляет соответствующие MenuItem объекты в ContextMenu. В этом примере требуется, чтобы в форме был определен экземпляр ContextMenu класса с именем contextMenu1. В этом примере также требуется добавить TextBox и PictureBox в форму, а свойству ContextMenu этих элементов управления присвоено значение contextMenu1.

private:
   void MyPopupEventHandler( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Define the MenuItem objects to display for the TextBox.
      MenuItem^ menuItem1 = gcnew MenuItem( "&Copy" );
      MenuItem^ menuItem2 = gcnew MenuItem( "&Find and Replace" );
      // Define the MenuItem object to display for the PictureBox.
      MenuItem^ menuItem3 = gcnew MenuItem( "C&hange Picture" );
      
      // Clear all previously added MenuItems.
      contextMenu1->MenuItems->Clear();

      if ( contextMenu1->SourceControl == textBox1 )
      {
         
         // Add MenuItems to display for the TextBox.
         contextMenu1->MenuItems->Add( menuItem1 );
         contextMenu1->MenuItems->Add( menuItem2 );
      }
      else if ( contextMenu1->SourceControl == pictureBox1 )
      {
         // Add the MenuItem to display for the PictureBox.
         contextMenu1->MenuItems->Add( menuItem3 );
      }
   }
private void MyPopupEventHandler(System.Object sender, System.EventArgs e)
 {
    // Define the MenuItem objects to display for the TextBox.
    MenuItem menuItem1 = new MenuItem("&Copy");
    MenuItem menuItem2 = new MenuItem("&Find and Replace");
    // Define the MenuItem object to display for the PictureBox.
    MenuItem menuItem3 = new MenuItem("C&hange Picture");

    // Clear all previously added MenuItems.
    contextMenu1.MenuItems.Clear();
 
    if(contextMenu1.SourceControl == textBox1)
    {
       // Add MenuItems to display for the TextBox.
       contextMenu1.MenuItems.Add(menuItem1);
       contextMenu1.MenuItems.Add(menuItem2);
    }
    else if(contextMenu1.SourceControl == pictureBox1)
    {
       // Add the MenuItem to display for the PictureBox.
       contextMenu1.MenuItems.Add(menuItem3);
    }
 }
Private Sub MyPopupEventHandler(sender As System.Object, e As System.EventArgs)
    ' Define the MenuItem objects to display for the TextBox.
    Dim menuItem1 As New MenuItem("&Copy")
    Dim menuItem2 As New MenuItem("&Find and Replace")
    ' Define the MenuItem object to display for the PictureBox.
    Dim menuItem3 As New MenuItem("C&hange Picture")
    
    ' Clear all previously added MenuItems.
    contextMenu1.MenuItems.Clear()
    
    If contextMenu1.SourceControl Is textBox1 Then
        ' Add MenuItems to display for the TextBox.
        contextMenu1.MenuItems.Add(menuItem1)
        contextMenu1.MenuItems.Add(menuItem2)
    ElseIf contextMenu1.SourceControl Is pictureBox1 Then
        ' Add the MenuItem to display for the PictureBox.
        contextMenu1.MenuItems.Add(menuItem3)
    End If
End Sub

Комментарии

Это событие можно использовать для инициализации MenuItem объектов перед их отображением. Например, если вы используете ContextMenu для трех TextBox элементов управления и хотите отключить определенные пункты меню в ContextMenu в зависимости от того, какое TextBox контекстное меню отображается, можно создать обработчик событий для этого события. Вы можете использовать свойство , SourceControl чтобы определить, какие TextBox объекты будут отображаться ContextMenu и отключать соответствующие MenuItem объекты.

Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

Применяется к