Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
É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 obtenir davantage d'informations sur les événements liés à la souris, consultez Utilisation des événements de souris.
Position de la souris et test de collision
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, l'Control qui contient le HotSpot déclenche l’événement de souris approprié.
Vous pouvez obtenir la position actuelle de la souris avec la propriété Location de l'MouseEventArgs lors de la gestion d’un événement de souris ou à l’aide de la propriété Position de la classe Cursor. 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 capacité de test de collision est intégrée à plusieurs contrôles dans Windows Forms, tels que les contrôles ListView, TreeView, MonthCalendar et DataGridView.
Les tests de positionnement sont utiles pour déterminer quand votre application doit effectuer une action spécifique, lorsqu’elle est utilisée avec l’événement de souris approprié, comme MouseHover par exemple.
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 GetStyle et SetStyle. La SetStyle méthode prend une combinaison ControlStyles de valeurs au niveau du bit pour déterminer si le contrôle a un clic standard, un comportement double-clic ou si le contrôle gère son propre traitement de la souris. En outre, la classe SystemInformation inclut des propriétés qui décrivent les fonctionnalités 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é | Descriptif |
|---|---|
| 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 sur la souris. |
| MouseButtonsSwapped | Obtient une valeur indiquant 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 temps de pointage de la souris avant qu’un message de pointage de la souris soit généré. |
| MouseHoverTime | Obtient le temps, en millisecondes, que le pointeur de la souris doit rester dans le rectangle de pointage avant qu’un message de pointage de la souris 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 une roulette de souris est installée. |
| MouseWheelScrollDelta | Obtient la valeur du delta de l’incrément de la rotation de la roulette de la souris. |
| MouseWheelScrollLines | Obtient le nombre de lignes à faire défiler lorsque la roulette de la souris est pivotée. |
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 paramètre Message, 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 | Remarques |
|---|---|
| PreFilterMessage | Cette méthode intercepte les messages Windows mis en file d’attente (également appelés messages 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 style EnableNotifyMessage doit être défini pour que cette méthode soit appelée. |
Voir aussi
.NET Desktop feedback