ContextMenu, classe (System.Windows.Forms)

Bibliothèque de classes .NET Framework 
ContextMenu, classe 

Représente un menu contextuel. Bien que ContextMenuStrip remplace et ajoute des fonctionnalités au contrôle ContextMenu des versions antérieures, ContextMenu est conservé pour la compatibilité descendante et l'utilisation future si tel est votre choix.

Espace de noms : System.Windows.Forms
Assembly : System.Windows.Forms (dans system.windows.forms.dll)

SyntaxeSyntaxe


Visual Basic (Déclaration)
Public Class ContextMenu
    Inherits Menu


Visual Basic (Utilisation)
Dim instance As ContextMenu


C#
public class ContextMenu : Menu


C++
public ref class ContextMenu : public Menu


J#
public class ContextMenu extends Menu


JScript
public class ContextMenu extends Menu
NotesNotes

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

Généralement, un menu contextuel est affiché quand un utilisateur clique avec le bouton droit de la souris sur un contrôle ou sur le formulaire lui-même. Les contrôles et le Form visibles possèdent une propriété ContextMenu qui lie la classe ContextMenu au contrôle qui affiche le menu contextuel. Un ContextMenu peut être utilisé par plusieurs contrôles. Vous pouvez utiliser la propriété SourceControl pour identifier le dernier contrôle qui a affiché le menu contextuel afin d'effectuer des tâches spécifiques au contrôle ou modifier le menu contextuel affiché pour le contrôle.

Il est possible de savoir quand le menu contextuel est affiché afin de sélectionner/désélectionner des éléments, désactiver des éléments et effectuer d'autres opérations avant que le menu soit affiché pour l'utilisateur. Vous pouvez utiliser l'événement Popup pour déterminer quand le menu contextuel doit être affiché.

RemarqueRemarque

Pour utiliser dans un ContextMenu les objets MenuItem qui sont affichés dans un MainMenu, vous devez créer une copie du menu avec la méthode CloneMenu de la classe MenuItem. Vous pouvez également fusionner des éléments de menu et leurs éléments de sous-menu dans le même objet MenuItem en utilisant la méthode MergeMenu de la classe MenuItem.

Remarque sur la plate-forme Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows CE : Sur Pocket PC, évitez d'utiliser des menus contextuels sur des formulaires secondaires car ceux-ci restent affichés après la destruction des formulaires parents.

ExempleExemple

L'exemple de code suivant crée un gestionnaire d'événements pour l'événement Popup de ContextMenu. Le code figurant dans le gestionnaire d'événements détermine le contrôle qui affiche le menu contextuel parmi les deux contrôles PictureBox nommé pictureBox1 et TextBox nommé textBox1. En fonction du contrôle à l'origine de l'affichage du menu contextuel de ContextMenu, le contrôle ajoute les objets MenuItem appropriés à ContextMenu. Cet exemple requiert que vous disposiez d'une instance de la classe ContextMenu, appelée contextMenu1, définie dans le formulaire. Cet exemple requiert également que le formulaire comprenne un TextBox et un PictureBox et que la propriété ContextMenu de ces contrôles ait la valeur contextMenu1.



Visual Basic
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 'MyPopupEventHandler '


C#
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);
    }
 }


C++
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 );
      }
   }


J#
private void MyPopupEventHandler(Object sender, 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.get_MenuItems().Clear();
    if (contextMenu1.get_SourceControl().Equals(textBox1)) {
        // Add MenuItems to display for the TextBox.
        contextMenu1.get_MenuItems().Add(menuItem1);
        contextMenu1.get_MenuItems().Add(menuItem2);
    }
    else {
        if (contextMenu1.get_SourceControl().Equals(pictureBox1)) {
            // Add the MenuItem to display for the PictureBox.
            contextMenu1.get_MenuItems().Add(menuItem3);
        }
    }
} //MyPopupEventHandler
Hiérarchie d'héritageHiérarchie d'héritage
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Menu
        System.Windows.Forms.ContextMenu
Sécurité des threadsSécurité des threads
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plates-formesPlates-formes

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

Informations de versionInformations de version

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Voir aussiVoir aussi

Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/system.windows.forms.contextmenu.aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

9 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-4342
Document créé le 14/10/06 23:54, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-system.windows.forms.contextmenu.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,33 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Le courage croît en osant et la peur en hésitant.

Proverbe romain
 
l'infobrol
Nous sommes le Vendredi 01 Juin 2012, 04:57, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)