Maison > développement back-end > C++ > Comment puis-je déterminer efficacement quelles touches du clavier sont actuellement enfoncées dans les formulaires Windows ?

Comment puis-je déterminer efficacement quelles touches du clavier sont actuellement enfoncées dans les formulaires Windows ?

Mary-Kate Olsen
Libérer: 2025-01-14 12:23:43
original
851 Les gens l'ont consulté

How Can I Efficiently Determine Which Keyboard Keys Are Currently Pressed in Windows Forms?

Comment détecter efficacement les touches actuellement enfoncées dans Windows Forms

Dans le développement Windows Forms, utilisez la classe Cursors pour obtenir facilement la position en temps réel du curseur. Cependant, déterminer l’état actuel d’une touche du clavier est relativement complexe. Par exemple, pouvons-nous déterminer si la touche Shift est actuellement enfoncée ? Et pouvons-nous éviter la surveillance fastidieuse de chaque événement KeyDown et KeyUp ?

Solution :

Heureusement, il est possible de détecter les touches enfoncées sans suivre attentivement les événements. Pour déterminer si la touche Maj est enfoncée (que d'autres touches de modification soient enfoncées en même temps), vous pouvez utiliser l'extrait de code suivant :

<code class="language-c#">if ((Control.ModifierKeys & Keys.Shift) != 0)</code>
Copier après la connexion

Cette méthode évalue si le résultat de l'opération ET au niveau du bit des valeurs Control.ModifierKeys et Keys.Shift est différent de zéro. Si le résultat est vrai, vous pouvez conclure que la touche Shift a été enfoncée.

Pour garantir que seule la touche Maj est enfoncée et qu'aucune autre touche de modification n'est active, la vérification peut être améliorée comme suit :

<code class="language-c#">if (Control.ModifierKeys == Keys.Shift)</code>
Copier après la connexion

Si vous travaillez dans une classe qui hérite de Control (comme un formulaire), vous pouvez omettre la référence Control pour rendre le code plus propre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal