Partager via


Fonctionnement des entrées de la souris dans les Windows Forms

La réception et la gestion des entrées de la souris constituent une part importante des applications Windows. Vous pouvez gérer des événements de la souris pour exécuter une action dans votre application ou utiliser les informations sur l'emplacement de la souris pour exécuter des tests d'atteinte ou d'autres actions. De plus, vous pouvez modifier la façon dont les contrôles de votre application gèrent les entrées de la souris. Cette rubrique décrit ces événements de souris de façon détaillée et indique comment obtenir et modifier les paramètres système de la souris. Pour plus d'informations sur les données fournies avec les événements de la souris et sur l'ordre dans lequel les événements de clic de souris sont déclenchés, consultez Événements liés à la souris dans les Windows Forms.

Emplacement de la souris et tests d'atteinte

Lorsque l'utilisateur déplace la souris, le système d'exploitation déplace le pointeur de la souris. Le pointeur de la souris contient un seul pixel, appelé zone réactive, que le système d'exploitation suit et reconnaît comme étant la position du pointeur. Lorsque l'utilisateur déplace la souris ou appuie sur un bouton de souris, le contrôle Control qui contient HotSpot déclenche l'événement de souris approprié. Vous pouvez obtenir la position actuelle de la souris avec la propriété Location de MouseEventArgs lors de la gestion d'un événement de souris ou de l'utilisation de la propriété Position de la classe Cursor. Vous pouvez utiliser par la suite les informations sur l'emplacement de la souris pour exécuter des tests d'atteinte, puis exécuter une action basée sur l'emplacement de la souris. La fonction de tests d'atteinte est présente dans plusieurs contrôles au sein de Windows Forms (tels que les contrôles ListView, TreeView, MonthCalendar et DataGridView). Utilisés avec l'événement de souris approprié (MouseHover, par exemple), les tests d'atteinte sont très utiles pour déterminer à quel moment votre application doit exécuter une action spécifique.

Événements de souris

Le principal moyen de répondre aux entrées de souris consiste à gérer des événements de souris. Le tableau suivant affiche les événements de souris et décrit le moment où ils sont déclenchés.

Événement de souris

Description

Click

Cet événement se produit lorsque vous relâchez le bouton de souris (en général avant l'événement MouseUp). Le gestionnaire de cet événement reçoit un argument de type EventArgs. Utilisez cet événement lorsque vous devez seulement déterminer à quel moment un clic se produit.

MouseClick

Cet événement se produit lorsque l'utilisateur clique sur le contrôle avec la souris. Le gestionnaire de cet événement reçoit un argument de type MouseEventArgs. Utilisez cet événement lorsque vous devez obtenir des informations à propos de la souris au moment d'un clic.

DoubleClick

Cet événement se produit lorsque vous double-cliquez sur le contrôle. Le gestionnaire de cet événement reçoit un argument de type EventArgs. Utilisez cet événement lorsque vous devez seulement déterminer à quel moment un double-clic se produit.

MouseDoubleClick

Cet événement se produit lorsque l'utilisateur double-clique sur le contrôle avec la souris. Le gestionnaire de cet événement reçoit un argument de type MouseEventArgs. Utilisez cet événement lorsque vous devez obtenir des informations à propos de la souris au moment d'un double-clic.

MouseDown

Cet événement se produit lorsque le pointeur de la souris se trouve sur le contrôle et que l'utilisateur appuie sur un bouton de souris. Le gestionnaire de cet événement reçoit un argument de type MouseEventArgs.

MouseEnter

Cet événement se produit lorsque le pointeur de la souris entre dans la bordure ou dans la zone cliente du contrôle, selon le type de contrôle concerné. Le gestionnaire de cet événement reçoit un argument de type EventArgs.

MouseHover

Cet événement se produit lorsque le pointeur de la souris s'arrête et reste sur le contrôle. Le gestionnaire de cet événement reçoit un argument de type EventArgs.

MouseLeave

Cet événement se produit lorsque le pointeur de la souris quitte la bordure ou la zone cliente du contrôle, selon le type de contrôle concerné. Le gestionnaire de cet événement reçoit un argument de type EventArgs.

MouseMove

Cet événement se produit lorsque le pointeur de la souris se déplace pendant qu'il se trouve sur un contrôle. Le gestionnaire de cet événement reçoit un argument de type MouseEventArgs.

MouseUp

Cet événement se produit lorsque le pointeur de la souris se trouve sur le contrôle et que l'utilisateur relâche un bouton de souris. Le gestionnaire de cet événement reçoit un argument de type MouseEventArgs.

MouseWheel

Cet événement se produit lorsque l'utilisateur fait pivoter la roulette de la souris pendant que le contrôle a le focus. Le gestionnaire de cet événement reçoit un argument de type MouseEventArgs. Vous pouvez utiliser la propriété Delta de MouseEventArgs pour déterminer la distance de défilement de la souris.

Modification des entrées de la souris et détection des paramètres système

Vous pouvez détecter et modifier la façon dont un contrôle gère les entrées de la souris en dérivant du contrôle et en utilisant les méthodes GetStyle et SetStyle. La méthode SetStyle utilise une combinaison d'opérations de bits de valeurs ControlStyles pour déterminer si le contrôle aura un comportement de clic standard ou de double-clic, ou encore si le contrôle gérera son propre traitement de souris. De plus, la classe SystemInformation inclut des propriétés qui décrivent les fonctions de la souris et spécifient la façon dont la souris interagit avec le système d'exploitation. Le tableau suivant récapitule ces propriétés.

Propriété

Description

DoubleClickSize

Permet d'obtenir les dimensions (exprimées en pixels) de la zone dans laquelle l'utilisateur doit cliquer deux fois pour que le système d'exploitation considère les deux clics comme un double-clic.

DoubleClickTime

Permet d'obtenir le nombre maximal de millisecondes qui peuvent s'écouler entre un premier clic et un deuxième clic pour que le système d'exploitation considère l'action de la souris comme un double-clic.

MouseButtons

Permet d'obtenir le nombre de boutons figurant sur la souris.

MouseButtonsSwapped

Permet d'obtenir une valeur qui indique si les fonctions des boutons gauche et droit de la souris ont été permutées.

MouseHoverSize

Permet d'obtenir les dimensions, en pixels, du rectangle dans lequel le pointeur de la souris doit rester pendant le délai de pointage de la souris avant qu'un message de pointage de la souris ne soit généré.

MouseHoverTime

Permet d'obtenir la durée (exprimée en millisecondes) pendant laquelle le pointeur de la souris doit rester dans le rectangle de pointage avant qu'un message de pointage de la souris ne soit généré.

MousePresent

Permet d'obtenir une valeur indiquant si une souris est installée.

MouseSpeed

Permet d'obtenir une valeur indiquant la vitesse actuelle de la souris (valeur comprise entre 1 et 20).

MouseWheelPresent

Permet d'obtenir une valeur indiquant si une souris avec roulette est installée.

MouseWheelScrollDelta

Permet d'obtenir le montant de la valeur delta de l'incrément d'une rotation de roulette de souris.

MouseWheelScrollLines

Permet d'obtenir le nombre de lignes à faire défiler lorsque la roulette de la souris pivote.

Voir aussi

Concepts

Capture de la souris dans les Windows Forms

Pointeurs de souris dans les Windows Forms

Autres ressources

Entrée de la souris dans une application Windows Forms