Vue d’ensemble de l’utilisation de la souris (Windows Forms .NET)

La réception et la gestion des entrées de souris constituent une partie importante de chaque application Windows. Vous pouvez gérer les événements de souris pour effectuer une action dans votre application ou utiliser des informations d’emplacement de la souris pour effectuer des tests de positionnement ou d’autres actions. En outre, vous pouvez modifier la façon dont les contrôles de votre application gèrent l’entrée de la souris. Cet article décrit ces événements de souris en détail et explique comment obtenir et modifier les paramètres système de la souris.

Important

La documentation du Guide du bureau pour .NET 7 et .NET 6 est en cours de construction.

Dans Windows Forms, l’entrée utilisateur est envoyée aux applications sous la forme de messages Windows. Une série de méthodes substituables traite ces messages au niveau de l’application, du formulaire et du contrôle. Lorsque ces méthodes reçoivent des messages de souris, elles déclenchent des événements qui peuvent être gérés pour obtenir des informations sur l’entrée de la souris. Dans de nombreux cas, les applications Windows Forms peuvent traiter toutes les entrées utilisateur simplement en gérant ces événements. Dans d’autres cas, une application peut remplacer l’une des méthodes qui traitent les messages pour intercepter un message particulier avant sa réception par l’application, le formulaire ou le contrôle.

Événements de souris

Tous les contrôles Windows Forms héritent d’un ensemble d’événements liés à l’entrée de la souris et du clavier. Par exemple, un contrôle peut gérer l’événement MouseClick pour déterminer l’emplacement d’un clic de souris. Pour plus d’informations sur les événements de souris, consultez Utilisation des événements de souris.

Emplacement de la souris et test d’accès

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 pixel unique, appelé point chaud, que le système d’exploitation suit et reconnaît comme position du pointeur. Lorsque l’utilisateur déplace la souris ou appuie sur un bouton de la souris, celui-ci Control contient l’événement HotSpot de souris approprié.

Vous pouvez obtenir la position actuelle de la souris avec la propriété de l’événement lors de la LocationMouseEventArgs gestion d’un événement de souris ou à l’aide de la Position propriété de la Cursor classe. Vous pouvez ensuite utiliser les informations d’emplacement de la souris pour effectuer des tests de positionnement, puis effectuer une action en fonction de l’emplacement de la souris. La fonctionnalité de test de positionnement est intégrée à plusieurs contrôles dans Windows Forms, tels que le ListView, TreeViewMonthCalendar et DataGridView les contrôles.

Utilisé avec l’événement de souris approprié, MouseHover par exemple, le test de positionnement est très utile pour déterminer quand votre application doit effectuer une action spécifique.

Modification des paramètres d’entrée de la souris

Vous pouvez détecter et modifier la façon dont un contrôle gère l’entrée de la souris en dérivant du contrôle et en utilisant les méthodes et SetStyle les GetStyle méthodes. La SetStyle méthode prend une combinaison ControlStyles de valeurs au niveau du bit pour déterminer si le contrôle aura un clic standard, un comportement double-clic ou si le contrôle gère son propre traitement de la souris. En outre, la SystemInformation classe inclut des propriétés qui décrivent les fonctionnalités de la souris et spécifient comment la souris interagit avec le système d’exploitation. Le tableau suivant récapitule ces propriétés.

Propriété Description
DoubleClickSize Obtient les dimensions, 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 un double-clic.
DoubleClickTime Obtient le nombre maximal de millisecondes qui peuvent s’écouler entre un premier clic et un deuxième clic pour que l’action de la souris soit considérée comme un double-clic.
MouseButtons Obtient le nombre de boutons de la souris.
MouseButtonsSwapped Obtient une valeur qui indique si les fonctions des boutons gauche et droit de la souris ont été permutées.
MouseHoverSize Obtient 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 soit généré.
MouseHoverTime Obtient le temps en millisecondes pendant lequel le pointeur doit rester dans le rectangle sélectionné automatiquement par pointage avec la souris avant qu'un message de pointage soit généré.
MousePresent Obtient une valeur indiquant si une souris est installée.
MouseSpeed Obtient une valeur indiquant la vitesse actuelle de la souris, comprise entre 1 et 20.
MouseWheelPresent Obtient une valeur indiquant si une souris avec roulette est installée.
MouseWheelScrollDelta Obtient la quantité de la valeur delta de l’incrément d’une rotation de roulette de souris unique.
MouseWheelScrollLines Obtient le nombre de lignes à faire défiler lors de la rotation de la roulette de la souris.

Méthodes qui traitent les messages d’entrée utilisateur

Les formulaires et les contrôles ont accès à l’interface IMessageFilter et à un ensemble de méthodes substituables qui traitent les messages Windows à différents points de la file d’attente des messages. Ces méthodes ont tous un Message paramètre, qui encapsule les détails de bas niveau des messages Windows. Vous pouvez implémenter ou remplacer ces méthodes pour examiner le message, puis consommer le message ou le transmettre au consommateur suivant dans la file d’attente de messages. Le tableau suivant présente les méthodes qui traitent tous les messages Windows dans Windows Forms.

Méthode Notes
PreFilterMessage Cette méthode intercepte les messages Windows mis en file d’attente (également appelés publiés) au niveau de l’application.
PreProcessMessage Cette méthode intercepte les messages Windows au niveau du formulaire et du contrôle avant qu’ils n’aient été traités.
WndProc Cette méthode traite les messages Windows au niveau du formulaire et du contrôle.
DefWndProc Cette méthode effectue le traitement par défaut des messages Windows au niveau du formulaire et du contrôle. Cela fournit les fonctionnalités minimales d’une fenêtre.
OnNotifyMessage Cette méthode intercepte les messages au niveau du formulaire et du contrôle, une fois qu’elles ont été traitées. Le bit de EnableNotifyMessage style doit être défini pour que cette méthode soit appelée.

Voir aussi