Share via


ContextMenu.Popup Événement

Définition

Se produit avant que le menu contextuel soit affiché.

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

Type d'événement

Exemples

L’exemple de code suivant crée un gestionnaire d’événements pour l’événement Popup de .ContextMenu Le code dans le gestionnaire d’événements détermine lequel des deux contrôles PictureBox a nommé pictureBox1 et un TextBox nommé textBox1 est le contrôle affichant le menu contextuel. Selon le contrôle à l’origine de l’affichage ContextMenu de son menu contextuel, le contrôle ajoute les objets appropriés MenuItemContextMenuau . Cet exemple nécessite que vous ayez une instance de la ContextMenu classe, nommée contextMenu1, définie dans le formulaire. Cet exemple nécessite également que vous ayez un TextBox et PictureBox ajouté à un formulaire et que la ContextMenu propriété de ces contrôles soit définie sur 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

Remarques

Vous pouvez utiliser cet événement pour initialiser les MenuItem objets avant leur affichage. Par exemple, si vous utilisez un ContextMenu pour trois TextBox contrôles et que vous souhaitez désactiver certains éléments de menu dans le ContextMenu en fonction de l’affichage TextBox du menu contextuel, vous pouvez créer un gestionnaire d’événements pour cet événement. Vous pouvez utiliser la SourceControl propriété pour déterminer lequel TextBox est sur le point d’afficher et ContextMenu de désactiver les objets appropriés MenuItem .

Pour plus d'informations sur la gestion des événements, voir gestion et déclenchement d’événements.

S’applique à