Création d'un programme interactif : création d'un gestionnaire d'événements

Mise à jour : novembre 2007

Dans cette leçon, vous apprendrez comment créer un gestionnaire d'événements.

Comme vous l'avez vu dans les leçons précédentes, les contrôles disposent de propriétés, de méthodes et d'événements, et sont utilisés pour créer l'interface utilisateur. Les événements sont des composants intéressants. Ils surviennent et s'appliquent à un contrôle. Par exemple, il est possible d'activer un contrôle d'un clic de souris, d'y entrer du texte, de déplacer le pointeur de la souris à l'intérieur de celui-ci, etc.

Lorsqu'une action intéressante se produit, le contrôle déclenche un événement. Cela signifie qu'il envoie un signal au programme pour l'avertir que quelque chose s'est produit. Le programme vérifie alors qu'il dispose bien de toutes les méthodes nécessaires pour gérer cet événement. Ces méthodes sont appelées gestionnaires d'événements. L'exécution d'une méthode lorsqu'un bouton est activé, notamment celle que vous avez créée dans Interaction avec l'utilisateur : utilisation des boutons, en est un exemple.

Les contrôles peuvent déclencher différents types d'événements, mais il y a toujours un événement par défaut pour chaque contrôle. Vous pouvez créer des gestionnaires d'événements pour différents événements de contrôle. Dans cette leçon, vous allez créer des gestionnaires d'événements pour un gestionnaire d'événements par défaut d'un bouton, l'événement Click. Il s'agit de l'événement qui se produit lorsque vous cliquez sur le bouton. Vous allez ensuite créer des gestionnaires d'événements pour les événements MouseEnter et MouseLeave du bouton. Il s'agit des événements qui se produisent lors du déplacement de la souris dans un contrôle.

Essayez !

Pour gérer l'événement Click

  1. Dans le menu Fichier, cliquez sur Nouveau projet.

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

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

    Un nouveau projet Windows Forms s'ouvre.

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

  5. Dans la fenêtre Propriétés, affectez à la propriété AutoSize la valeur True.

  6. Dans le menu Affichage, cliquez sur Code pour ouvrir l'éditeur de code.

    Juste au-dessus de l'éditeur de code, remarquez les deux listes déroulantes. La zone de gauche contient une liste de tous les contrôles présents sur le formulaire, ainsi que Form1, (Général) et (Form1 Événements). La zone de droite répertorie les événements disponibles pour l'élément figurant dans la zone de gauche.

  7. Dans la zone de gauche, cliquez sur Button1.

  8. Dans la zone de droite, cliquez sur Click.

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

    Remarque :

    Vous pouvez entrer le gestionnaire d'événements par défaut d'un contrôle en double-cliquant sur le contrôle du formulaire.

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

    MsgBox("You clicked the button")
    
  10. Appuyez sur F5 pour exécuter l'application. Lorsque vous cliquez sur Button1, un message apparaît.

Ajout d'autres gestionnaires d'événements

Vous pouvez écrire du code dans les gestionnaires d'événements supplémentaires pour le même contrôle. Par exemple, vous pouvez modifier le texte qui apparaît sur le bouton lorsqu'un utilisateur déplace le pointeur de la souris sur le bouton.

Pour gérer l'événement MouseEnter

  1. Dans l'éditeur de code, assurez-vous que Button1 est sélectionné dans la zone déroulante de gauche, puis cliquez sur MouseEnter dans la zone déroulante de droite.

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

  2. Dans le gestionnaire d'événements Button1_MouseEnter, tapez le code suivant.

    Button1.Text = "The Mouse has entered"
    

    Appuyez sur F5 pour exécuter l'application. Passez le pointeur de la souris sur le bouton. Notez que lorsque le pointeur de la souris est positionné sur Button1, le texte du bouton change.

Vous avez pu remarquer dans l'exemple précédent que, si le texte de Button1 change lorsque le pointeur de la souris passe sur ce contrôle, le texte d'origine n'est pas rétabli lorsque le pointeur de la souris s'éloigne du contrôle. Si vous souhaitez que le texte change lorsque le pointeur de la souris n'est plus sur le bouton, vous devez gérer l'événement MouseLeave ainsi que l'événement MouseEnter.

Pour gérer l'événement MouseLeave

  1. Dans l'éditeur de code, assurez-vous que Button1 est sélectionné dans la zone déroulante de gauche, puis cliquez sur MouseLeave dans la zone déroulante de droite.

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

  2. Dans le gestionnaire d'événements Button1_MouseLeave, tapez le code suivant :

    Button1.Text = "The mouse has left"
    
  3. Appuyez sur F5 pour exécuter l'application.

    Désormais, lorsque le pointeur de la souris passe sur le bouton, le texte devient The mouse has entered, mais lorsque le pointeur quitte le bouton, le texte redevient The mouse has left.

Étapes suivantes

Dans cette leçon, vous avez appris comment créer un gestionnaire d'événements à l'aide de l'Éditeur de code. À ce stade, vous pouvez passer à la leçon suivante de la séquence, Obtention des choix de l'utilisateur : utilisation des cases à cocher et des cases d'option, ou examiner des gestionnaires d'événements avec Présentation détaillée : partage d'un gestionnaire d'événements. Si vous choisissez la deuxième option, vous devez enregistrer votre projet EventHandler pour l'utiliser dans cette leçon.

Voir aussi

Référence

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

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

Autres ressources

Création de l'aspect visuel de votre programme : introduction aux Windows Forms

Modifications des propriétés, méthodes et événements des contrôles pour les utilisateurs de Visual Basic 6.0