Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

Événements liés à la souris dans les Windows Forms

 

Quand vous gérez l'entrée de souris, vous souhaitez habituellement connaître l'emplacement du pointeur de la souris et l'état de ses boutons. Cette rubrique fournit des détails sur la façon d'obtenir des informations à partir des événements de souris et explique l'ordre dans lequel les événements de clic de souris sont déclenchés dans les contrôles Windows Forms. Pour obtenir une liste et une description de tous les événements de souris, consultez Fonctionnement des entrées de la souris dans les Windows Forms. Consultez également Vue d'ensemble des gestionnaires d'événements (Windows Forms), Vue d'ensemble des événements (Windows Forms)

Un MouseEventArgs est envoyé aux gestionnaires d'événements de souris liés aux clics de souris et au suivi des mouvements de souris. MouseEventArgs fournit des informations sur l'état actuel de la souris, y compris l'emplacement du pointeur de la souris sous forme de coordonnées clientes, les boutons de souris qui sont enfoncés et si la roulette a défilé. Plusieurs événements de souris, tels que ceux qui indiquent simplement si le pointeur de souris pénétré ou quitté les limites d'un contrôle, envoient un EventArgs au gestionnaire d'événements sans aucune information complémentaire.

Si vous souhaitez connaître l'état actuel des boutons de la souris ou l'emplacement du pointeur de la souris et que vous souhaitez éviter de gérer un événement de souris, vous pouvez aussi utiliser les propriétés MouseButtons et MousePosition de la classe Control. MouseButtons retourne des informations sur les boutons de souris qui sont actuellement enfoncés. MousePosition retourne les coordonnées d'écran du pointeur de la souris et est équivalente à la valeur retournée par Position.

Étant donné que certaines informations sur l'emplacement de la souris sont spécifiées en coordonnées clientes et d'autres en coordonnées d'écran, vous devrez peut-être convertir un point d'un système de coordonnées en un autre. Cette opération peut être effectuée facilement à l'aide des méthodes PointToClient et PointToScreen disponibles sur la classe Control.

Si vous souhaitez gérer les événements de clic de souris dans l'ordre approprié, vous devez connaître l'ordre dans lequel les événements de clic sont déclenchés dans les contrôles Windows Forms. Tous les contrôles Windows Forms déclenchent les événements de clic dans le même ordre quand un bouton de souris est enfoncé et relâché (quel que soit le bouton), sauf indication contraire mentionnée dans la liste suivante pour un contrôle spécifique. La liste ci-dessous indique l'ordre des événements déclenchés pour un clic sur un bouton de souris :

  1. Événement MouseDown.

  2. Événement Click.

  3. Événement MouseClick.

  4. Événement MouseUp.

Voici l'ordre des événements déclenchés pour un double clic sur un bouton de souris :

  1. Événement MouseDown.

  2. Événement Click.

  3. Événement MouseClick.

  4. Événement MouseUp.

  5. Événement MouseDown.

  6. Événement DoubleClick. (Cela peut varier, selon que le contrôle en question a la valeur StandardDoubleClick définie comme bit de style true. Pour plus d'informations sur la façon de définir un bit ControlStyles, consultez la méthode SetStyle.)

  7. Événement MouseDoubleClick.

  8. Événement MouseUp.

Pour obtenir un exemple de code qui illustre l'ordre des événements de clic de souris, consultez Comment : gérer des événements d'entrée d'utilisateur dans les contrôles Windows Forms.

Les contrôles suivants n'ont pas le comportement d'événement de clic de souris standard :

Les contrôles de basculement, tels que ceux dérivant de la classe ButtonBase, présentent le comportement de peinture distinctif suivant en cas de combinaison avec des événements de clic de souris :

  1. L'utilisateur appuie sur le bouton de la souris.

  2. Le contrôle est peint à l'état enfoncé.

  3. L'événement MouseDown est déclenché.

  4. L'utilisateur relâche le bouton de la souris.

  5. Le contrôle est peint à l'état déclenché.

  6. L'événement Click est déclenché.

  7. L'événement MouseClick est déclenché.

  8. L'événement MouseUp est déclenché.

    System_CAPS_noteRemarque

    Si l'utilisateur déplace le pointeur hors du contrôle de basculement alors que le bouton de la souris est enfoncé (par exemple en cas de déplacement de la souris hors du contrôle Button pendant qu'il est enfoncé), le contrôle de basculement est peint à l'état déclenché et seul l'événement MouseUp se produit. L'événement Click ou MouseClick ne se produira pas dans cette situation.

Afficher: