Présentation détaillée : davantage d'informations sur les menus

Mise à jour : novembre 2007

Dans cette leçon, vous apprendrez comment activer ou désactiver des menus au moment de l'exécution, et également comment créer des menus contextuels.

Dans la leçon précédente, vous avez appris à utiliser le contrôle MenuStrip pour créer des menus qui permettent aux utilisateurs de faire des choix relatifs à votre programme. Dans certains cas, toutefois, les choix peuvent être disponibles uniquement à certains moments. Par exemple, la commande de menu Copier est disponible uniquement lorsqu'il y a quelque chose à copier.

La plupart des programmes désactivent les commandes de menu lorsqu'elles sont indisponibles, au lieu de les masquer. Lorsqu'un élément de menu est désactivé, le texte de menu devient gris et cliquer sur l'élément de menu ne produit aucun effet. Lors de l'utilisation d'un contrôle MenuStrip, vous pouvez activer et désactiver des éléments de menu à l'aide de la propriété Enabled de l'MenuItem.

Essayez !

Pour désactiver ou activer des éléments de menu

  1. Dans le menu Fichier, cliquez sur NouveauProjet.

  2. Dans la boîte de dialogue Nouveau projet, dans le volet Modèles, cliquez sur Application Windows Forms.

  3. Dans la zone Nom, tapez Menus2, puis cliquez sur OK.

    Un nouveau projet Windows Forms s'ouvre.

  4. À partir de la Boîte à outils, faites glisser un contrôle MenuStrip et un contrôle TextBox dans le formulaire.

  5. Dans le formulaire, cliquez sur le contrôle MenuStrip et tapez Edit, puis appuyez sur ENTRÉE.

  6. Dans la zone située sous la première zone, tapez Copy,, puis appuyez sur ENTRÉE.

  7. Dans la fenêtre Propriétés, attribuez à la propriété Enabled de CopyToolStripMenuItem la valeur False.

  8. Double-cliquez sur le contrôle TextBox pour ouvrir l'éditeur de code.

  9. Dans le gestionnaire d'événements TextBox1_TextChanged, tapez le code suivant.

    If Textbox1.Text <> "" Then
      CopyToolStripMenuItem.Enabled = True
    Else
      CopyToolStripMenuItem.Enabled = False
    End If
    
  10. Appuyez sur F5 pour exécuter le programme. Cliquez sur le menu Edition. L'élément de menu Copier est désactivé. Tapez quelque chose dans le contrôle TextBox, puis cliquez à nouveau sur le menu Edition. L'élément de menu Copier est à présent activé.

Création de menus contextuels

Beaucoup de programmes utilisent des menus contextuels pour faciliter l'accès aux commandes les plus utilisées. Pour accéder à un menu contextuel, cliquez avec le bouton droit sur un formulaire ou un contrôle au moment de l'exécution. Vous pouvez créer vos propres menus contextuels dans Visual Basic à l'aide d'un contrôle ContextMenuStrip.

Comme avec le contrôle MenuStrip, lorsque vous faites glisser un contrôle ContextMenuStrip dans un formulaire, le contrôle ContextMenuStrip s'affiche dans la partie supérieure du formulaire sous la forme d'une zone qui présente le texte « Tapez ici », et une icône est ajoutée à la barre d'état des composants. Contrairement à MenuStrip, les éléments supplémentaires s'ajoutent uniquement sous le premier élément de menu, créant ainsi un menu vertical.

De plus, un ContextMenuStrip doit être associé au formulaire ou au contrôle dans lequel vous souhaitez qu'il s'affiche. Pour ce faire, attribuez pour valeur à la propriété ContextMenuStrip du formulaire ou du contrôle le nom du contrôle ContextMenuStrip. Vous pouvez associer un seul ContextMenuStrip à autant de contrôles que vous le souhaitez.

Essayez !

Pour créer un menu contextuel

  1. Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.

  2. Dans la boîte de dialogue Nouveau projet, dans le volet Modèles, cliquez sur Application Windows Forms.

  3. Dans la zone Nom, tapez ContextMenus, puis cliquez sur OK.

    Un nouveau projet Windows Forms s'ouvre.

  4. À partir de la boîte à outils, faites glisser un contrôle ContextMenuStrip jusqu'au formulaire.

  5. Cliquez sur le formulaire en mode Design. Dans la fenêtre Propriétés, sélectionnez la propriété ContextMenuStrip du formulaire, puis cliquez sur ContextMenuStrip1 dans la liste déroulante.

  6. Dans la barre d'état des composants en bas de l'environnement de développement intégré (IDE), cliquez sur le contrôle ContextMenuStrip. Dans ContextMenuStrip, tapez Option1, puis appuyez sur ENTRÉE.

  7. Dans la zone située sous la première zone, tapez Option2, puis appuyez sur ENTRÉE.

  8. Double-cliquez sur l'élément de menu Option1 pour ouvrir l'éditeur de code.

  9. Dans le gestionnaire d'événements Option1ToolStripMenuItem_Click, tapez le code suivant.

    MsgBox("You chose Option 1")
    
  10. Dans l'éditeur de code, sélectionnez Option2ToolStripMenuItem dans la liste déroulante de gauche, puis Click dans celle de droite.

    Un nouveau gestionnaire d'événements appelé Option2ToolStripMenuItem _Click s'affiche dans l'éditeur de code.

  11. Dans le gestionnaire d'événements Option2ToolStripMenuItem _Click, tapez le code suivant.

    MsgBox("You chose Option 2")
    
  12. Appuyez sur F5 pour exécuter le programme. Cliquez avec le bouton droit sur le formulaire, puis sur l'un des éléments du menu contextuel. Un message s'affiche et indique l'option choisie.

Étapes suivantes

Dans cette leçon, vous avez appris comment activer et désactiver des menus, et également comment créer un menu contextuel. Dans la rubrique suivante, vous apprendrez comment utiliser un type de contrôle différent, Timer, pour effectuer des actions.

Leçon suivante : Utilisation de minuteries pour exécuter des actions régulières

Voir aussi

Tâches

Proposer des choix à l'utilisateur : création de menus au moment du design

Comment : associer un ContextMenuStrip à un contrôle

Référence

Vue d'ensemble du contrôle MenuStrip (Windows Forms)