Partager via


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

Mise à jour : novembre 2007

Lorsque vous gérez les entrées de la souris, vous souhaitez habituellement connaître l'emplacement du pointeur de la souris et l'état des boutons de souris. Cette rubrique fournit des détails sur les méthodes d'obtention de ces 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 la liste et la description de tous les événements de souris, consultez Fonctionnement des entrées de la souris dans les Windows Forms.

Informations de souris

Un MouseEventArgs est envoyé aux gestionnaires d'événements de souris concernant les clics sur un bouton de souris et le suivi de déplacements de la souris. MouseEventArgs fournit des informations sur l'état actuel de la souris, y compris l'emplacement du pointeur de la souris dans les coordonnées clientes, l'activation des boutons de souris et de la roulette de la souris. Plusieurs événements de souris, tels que ceux qui envoient une notification lorsque le pointeur de la souris entre dans les limites d'un contrôle ou en sort, envoient EventArgs au gestionnaire d'événements sans informations complémentaires.

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

Conversion entre coordonnées d'écran et coordonnées clientes

Étant donné que certaines informations sur l'emplacement de la souris se trouvent dans les coordonnées clientes et que d'autres figurent dans les coordonnées d'écran, vous devrez peut-être convertir un point d'un système de coordonnées vers un autre. Vous pouvez le faire facilement en utilisant les méthodes PointToClient et PointToScreen disponibles dans la classe Control.

Comportement d'événement Click standard

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

  1. Événement MouseDown.

  2. Événement Click.

  3. Événement MouseClick.

  4. Événement MouseUp.

La liste suivante indique l'ordre des événements déclenchés pour un double clic :

  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 si le bit de style StandardDoubleClick du contrôle concerné a la valeur true. Pour plus d'informations sur la définition d'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.

Contrôles individuels

Les contrôles suivants ne sont pas conformes au comportement de l'événement de clic de souris standard :

Comportement de peinture des contrôles de basculement

Les contrôles de basculement, tels que les contrôles qui dérivent de la classe ButtonBase, ont le comportement de peinture décrit dans le tableau suivant lorsqu'ils sont associés à des événements de clic de souris :

  1. L'utilisateur clique.

  2. Le contrôle est peint 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 en relief.

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

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

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

    Remarque :

    Si l'utilisateur déplace le pointeur à l'extérieur du contrôle de basculement alors que le bouton de la souris est enfoncé (si, par exemple, il déplace le pointeur à l'extérieur du contrôle Button tout en maintenant le bouton de la souris appuyé), le contrôle de basculement est peint en relief et seul l'événement MouseUp est déclenché. Les événements Click ou MouseClick ne se produiront pas dans cette situation.

Voir aussi

Autres ressources

Entrée de la souris dans une application Windows Forms