9
votes

Comment affecter une clé de raccourci (quelque chose comme CTRL + F) à une zone de texte sous Windows Formulaires?

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 + f ou Ctrl + s .

Comment puis-je faire cela?


0 commentaires

5 Réponses :


14
votes

Un moyen est de remplacer l'événement processcmdkey. XXX

EDIT: Vous pouvez également utiliser l'événement de la clé - voir Comment capturer les touches de raccourci dans Visual Studio .NET .


1 commentaires

J'avais l'habitude d'aller pour l'alternative, mais cela est vraiment plus simple! +1



0
votes

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.


0 commentaires

5
votes

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();
    }
}


0 commentaires

1
votes

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: - xxx


0 commentaires

0
votes

Une option est de Attribuer une clé d'accès à un contrôle avec une étiquette . Vous attribuez un raccourci basé sur une étiquette liée à la zone de texte.

pour attribuer une clé d'accès à un contrôle avec une étiquette

  1. Dessinez d'abord l'étiquette, puis dessinez l'autre contrôle.

    -or -

    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.

    1. Définissez la propriété USemnemonic de l'étiquette vers true.

    2. 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.

      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

      Dans l'image ci-dessous, si vous appuyez sur Alt + Y, la mise au point se déplace dans la zone de texte.

       exemple


1 commentaires

Ok, je viens d'ajouter plus d'informations.