Partage via


ContextMenu Classe

Définition

Représente un menu contextuel.

Cette classe n’est pas disponible dans .NET Core 3.1 et versions ultérieures. Utilisez ContextMenuStrip plutôt, ce qui remplace et étend le ContextMenu contrôle.

public ref class ContextMenu : System::Windows::Forms::Menu
public class ContextMenu : System.Windows.Forms.Menu
type ContextMenu = class
    inherit Menu
Public Class ContextMenu
Inherits Menu
Héritage

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 est un PictureBox 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 exige é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

Cette classe n’est pas disponible dans .NET Core 3.1 et versions ultérieures. Utilisez plutôt ContextMenuStrip.

La ContextMenu classe représente des menus contextuels qui peuvent être affichés lorsque l’utilisateur clique sur le bouton droit de la souris sur un contrôle ou une zone du formulaire. Les menus contextuels sont généralement utilisés pour combiner différents éléments de menu d’un MainMenu formulaire qui sont utiles pour l’utilisateur compte tenu du contexte de l’application. Par exemple, vous pouvez utiliser un menu contextuel affecté à un TextBox contrôle pour fournir des éléments de menu permettant de modifier la police du texte, de rechercher du texte dans le contrôle ou des fonctionnalités du Presse-papiers pour copier et coller du texte. Vous pouvez également afficher de nouveaux MenuItem objets dans un menu contextuel qui ne se trouvent pas dans un pour fournir des commandes spécifiques à une MainMenu situation qui ne sont pas appropriées pour l’affichage MainMenu .

En règle générale, un menu contextuel s’affiche lorsqu’un utilisateur clique sur le bouton droit de la souris sur un contrôle ou le formulaire lui-même. Contrôles visibles et Form ont une ContextMenu propriété qui lie la ContextMenu classe au contrôle qui affiche le menu contextuel. Plusieurs contrôles peuvent utiliser un ContextMenu. Vous pouvez utiliser la SourceControl propriété pour déterminer quel dernier contrôle a affiché le menu contextuel afin d’effectuer des tâches spécifiques au contrôle ou de modifier le menu contextuel affiché pour le contrôle.

Vous souhaiterez peut-être savoir quand le menu contextuel s’affiche afin de définir case activée marques, de désactiver les éléments et d’effectuer d’autres tâches de menu avant que le menu ne soit affiché à l’utilisateur. Vous pouvez gérer l’événement Popup pour déterminer quand le menu contextuel s’affiche.

Notes

Pour réutiliser MenuItem les objets affichés dans un MainMenu , ContextMenuvous devez créer une copie du menu à l’aide de la CloneMenu méthode de la MenuItem classe . Vous pouvez également fusionner les éléments de menu et leurs sous-menus en un seul MenuItem objet à l’aide de la MergeMenu méthode de la MenuItem classe .

Constructeurs

ContextMenu()

Initialise une nouvelle instance de la classe ContextMenu dans laquelle aucun élément de menu n'est spécifié.

ContextMenu(MenuItem[])

Initialise une nouvelle instance de la classe ContextMenu avec un jeu d'objets MenuItem spécifié.

Champs

FindHandle

Spécifie que la méthode FindMenuItem(Int32, IntPtr) doit rechercher un handle.

(Hérité de Menu)
FindShortcut

Spécifie que la méthode FindMenuItem(Int32, IntPtr) doit rechercher un raccourci.

(Hérité de Menu)

Propriétés

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.

(Hérité de Component)
Container

Obtient le IContainer qui contient la Component.

(Hérité de Component)
DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.

(Hérité de Component)
Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.

(Hérité de Component)
Handle

Obtient une valeur qui représente le handle de fenêtre pour le menu.

(Hérité de Menu)
IsParent

Obtient une valeur indiquant si ce menu contient des éléments de menu. Cette propriété est en lecture seule.

(Hérité de Menu)
MdiListItem

Obtient une valeur indiquant le MenuItem utilisé pour afficher une liste de formulaires enfants MDI.

(Hérité de Menu)
MenuItems

Obtient une valeur qui indique la collection d'objets MenuItem associée au menu.

(Hérité de Menu)
Name

Obtient ou définit le nom de l'objet Menu.

(Hérité de Menu)
RightToLeft

Obtient ou définit une valeur indiquant si le texte géré par le contrôle est affiché de droite à gauche.

Site

Obtient ou définit le ISite de Component.

(Hérité de Component)
SourceControl

Obtient le contrôle qui affiche le menu contextuel.

Tag

Obtient ou définit les données définies par l'utilisateur associées au contrôle.

(Hérité de Menu)

Méthodes

CloneMenu(Menu)

Copie le Menu qui est passé comme paramètre au Menu en cours.

(Hérité de Menu)
CreateMenuHandle()

Crée un nouveau handle pour Menu.

(Hérité de Menu)
CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par Component.

(Hérité de Component)
Dispose(Boolean)

Libère les ressources (autres que la mémoire) utilisées par Menu.

(Hérité de Menu)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
FindMenuItem(Int32, IntPtr)

Obtient le MenuItem qui contient la valeur spécifiée.

(Hérité de Menu)
FindMergePosition(Int32)

Retourne la position à laquelle un élément de menu doit être inséré dans le menu.

(Hérité de Menu)
GetContextMenu()

Obtient le ContextMenu qui contient ce menu.

(Hérité de Menu)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetMainMenu()

Obtient le MainMenu qui contient ce menu.

(Hérité de Menu)
GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.

(Hérité de Component)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
MergeMenu(Menu)

Fusionne les objets MenuItem d'un menu avec le menu en cours.

(Hérité de Menu)
OnCollapse(EventArgs)

Déclenche l’événement Collapse.

OnPopup(EventArgs)

Déclenche l’événement Popup.

ProcessCmdKey(Message, Keys)

Traite une touche de commande.

(Hérité de Menu)
ProcessCmdKey(Message, Keys, Control)

Traite une touche de commande.

Show(Control, Point)

Affiche le menu contextuel à la position spécifiée.

Show(Control, Point, LeftRightAlignment)

Affiche le menu contextuel à la position spécifiée et avec l'alignement spécifié.

ToString()

Retourne une String qui représente le contrôle Menu.

(Hérité de Menu)

Événements

Collapse

Se produit lorsque le menu contextuel est réduit.

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().

(Hérité de Component)
Popup

Se produit avant que le menu contextuel soit affiché.

S’applique à

Voir aussi