Utilisation d’événements clavier (Windows Forms .NET)

La plupart des programmes Windows Forms traitent l'entrée au clavier en gérant les événements de clavier. Cet article fournit une vue d’ensemble des événements clavier, y compris des détails sur le moment où utiliser chaque événement et les données fournies pour chaque événement. Pour plus d’informations sur les événements en général, consultez Vue d’ensemble des événements (Windows Forms .NET).

Important

La documentation du Guide du bureau pour .NET 7 et .NET 6 est en cours de construction.

Événements de clavier

Windows Forms fournit deux événements qui se produisent quand l’utilisateur appuie sur une touche du clavier et un événement qui se produit quand l’utilisateur relâche une touche du clavier :

  • L’événement KeyDown se produit une seule fois.
  • L'événement KeyPress, qui peut se produire plusieurs fois quand l'utilisateur maintient la même touche enfoncée.
  • L’événement KeyUp se produit une fois quand l’utilisateur relâche une touche.

Quand l'utilisateur appuie sur une touche, Windows Forms détermine quel événement déclencher selon que le message de clavier spécifie une touche de caractère ou une touche physique. Pour plus d’informations sur les touches physiques et les caractères, consultez vue d’ensemble du clavier, événements de clavier.

Le tableau suivant décrit les trois événements de clavier.

Événements de clavier Description Résultats
KeyDown Cet événement est déclenché quand l'utilisateur appuie sur une touche physique. Le gestionnaire de KeyDown reçoit :

  • un paramètre KeyEventArgs, qui fournit la propriété KeyCode (qui spécifie un bouton de clavier physique) ;
  • la propriété Modifiers (Maj, Ctrl ou Alt) ;
  • la propriété KeyData (qui combine le code de touche et le modificateur). Le paramètre KeyEventArgs fournit également :

    • la propriété Handled, qui peut être définie pour empêcher le contrôle sous-jacent de recevoir la touche ;
    • la propriété SuppressKeyPress, qui peut être utilisée pour supprimer les événements KeyPress et KeyUp pour cette séquence de touches.
KeyPress Cet événement est déclenché quand la ou les touches enfoncées génèrent un caractère. Par exemple, l'utilisateur appuie sur les touches Maj et « a », ce qui produit un caractère « A » majuscule. KeyPress est déclenché après KeyDown.

  • Le gestionnaire de KeyPress reçoit :
  • un paramètre KeyPressEventArgs, qui contient le code de caractère de la touche qui a été enfoncée. Ce code de caractère est unique à chaque combinaison touche de caractère/touche de modification.

    Par exemple, la touche « A » génère :

    • le code de caractère 65, si elle est enfoncée avec la touche Maj ;
    • ou la touche Verr. Maj, 97, si elle est activée seule,
    • Et 1, si elle est enfoncée avec la touche Ctrl.
KeyUp Cet événement est déclenché quand l’utilisateur relâche une touche physique. Le gestionnaire de KeyUp reçoit :

  • un paramètre KeyEventArgs :

    • qui fournit la propriété KeyCode (qui spécifie un bouton de clavier physique) ;
    • la propriété Modifiers (Maj, Ctrl ou Alt) ;
    • la propriété KeyData (qui combine le code de touche et le modificateur).

Voir aussi