Je construis un outil utilisant C #. C'est une application Windows. J'ai une zone de texte sur un formulaire et je souhaite affecter la mise au point sur cette zone de texte lorsque l'utilisateur appuie sur Ctrl kbd> + f kbd> ou Ctrl kbd> + s kbd>. p>
Comment puis-je faire cela? P>
5 Réponses :
Un moyen est de remplacer l'événement processcmdkey. EDIT: Vous pouvez également utiliser l'événement de la clé - voir Comment capturer les touches de raccourci dans Visual Studio .NET em>. P> P>
J'avais l'habitude d'aller pour l'alternative, mais cela est vraiment plus simple! +1
Ajoutez un événement qui accroche une touche Appuyez sur le formulaire, analysez la touche Appuyez sur la touche et voyez s'il correspond à l'une de vos touches de raccourci, puis affectez la mise au point. P>
Capturez l'événement code> Keydown Code> et placez une instruction IF pour vérifier quelles touches ont été appuyées.
private void form_KeyDown(object sender, KeyEventArgs e) { if ((e.Control && e.KeyCode == Keys.F) || (e.Control && e.KeyCode == Keys.S)) { txtSearch.Focus(); } }
1ère chose Assurez-vous que la propriété de votre formulaire Windows est "KeyPreview = true"
2e chose ouverte Ouvrir une propriété d'événement et double-cliquez sur "Keydown"
Et
Écrivez le code suivant à l'intérieur du corps de l'événement: - p>
Une option est de Attribuer une clé d'accès à un contrôle avec une étiquette forte>. Vous attribuez un raccourci basé sur une étiquette liée à la zone de texte. P>
-or - p>
Dessinez les commandes dans n'importe quel ordre et définissez la propriété Tabindex de la
étiqueter à un de moins que l'autre contrôle. P>
Définissez la propriété USemnemonic de l'étiquette vers true. p>
li>
Utilisez une ampersand (&) dans la propriété de texte de l'étiquette pour attribuer la clé d'accès à l'étiquette. Pour plus d'informations, voir Création d'accès
Clés pour les contrôles des formulaires Windows. P>
li>
ol>
Source:
https://docs.microsoft.com/en-us/dotnet/desktop/winforms/controls/how-to-create-access-kesys-with-windows-forms-label- Contrôles? View = NetFrameworkDesktop-4.8 p>
blockQuote>
Dans l'image ci-dessous, si vous appuyez sur Alt + Y, la mise au point se déplace dans la zone de texte. P>
Ok, je viens d'ajouter plus d'informations.