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.
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.
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.
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 Location MouseEventArgs 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.
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. |
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.
Method | 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. |
Commentaires sur .NET Desktop feedback
.NET Desktop feedback est un projet open source. Sélectionnez un lien pour fournir des commentaires :