Uso degli eventi della tastiera (Windows Form .NET)

La maggioranza dei programmi di Windows Form elabora gli input della tastiera tramite gestione dei relativi eventi. Questo articolo offre una panoramica degli eventi della tastiera, inclusi i dettagli su quando usare ogni evento e i dati forniti per ogni evento. Per altre informazioni sugli eventi in generale, vedere Panoramica degli eventi (Windows Form .NET).

Eventi della tastiera

Windows Form include due eventi che si verificano quando un utente preme un tasto e un evento che si verifica quando un utente rilascia un tasto:

  • L'evento KeyDown si verifica una sola volta.
  • L'evento KeyPress, che può verificarsi più volte quando un utente tiene premuto lo stesso tasto.
  • L'evento KeyUp si verifica una volta quando un utente rilascia un tasto.

Quando un utente preme un tasto, Windows Form determina quale evento generare in base al fatto che il messaggio della tastiera specifichi un tasto carattere o fisico. Per altre informazioni sui tasti fisici e sui caratteri, vedere Panoramica della tastiera, eventi della tastiera.

La tabella seguente illustra i tre eventi di tastiera.

Evento della tastiera Descrizione Risultati
KeyDown L'evento viene generato quando un utente preme un tasto fisico. Il gestore per KeyDown riceve:

  • Un parametro KeyEventArgs, che fornisce la proprietà KeyCode (che specifica un tasto fisico).
  • La proprietà Modifiers (MAIUSC, CTRL o ALT).
  • La proprietà KeyData, che combina il codice tasto e il modificatore. Il parametro KeyEventArgs include inoltre:

    • La proprietà Handled, che può essere impostata per impedire al controllo sottostante di ricevere il tasto.
    • La proprietà SuppressKeyPress, utilizzabile per eliminare gli eventi KeyPress e KeyUp per la sequenza di tasti.
KeyPress L'evento viene generato quando il tasto o i tasti premuti corrispondono a un carattere. Ad esempio, se un utente preme i tasti MAIUSC e "a" minuscola, il risultato sarà la lettera "A" maiuscola. KeyPress viene generato dopo KeyDown.

  • Il gestore per KeyPress riceve:
  • Un parametro KeyPressEventArgs, che include il codice carattere del tasto premuto. Il codice carattere è univoco per ogni combinazione di tasto carattere e tasto modificatore.

    Ad esempio, il tasto "A" avrà il risultato seguente:

    • Il codice carattere 65, se premuto con il tasto MAIUSC
    • Oppure il tasto BLOC MAIUSC, 97 se premuto da solo
    • E 1, se premuto con il tasto CTRL
KeyUp L'evento viene generato quando un utente rilascia un tasto fisico. Il gestore per KeyUp riceve:

  • Un parametro KeyEventArgs:

    • Che fornisce la proprietà KeyCode (che specifica un tasto fisico).
    • La proprietà Modifiers (MAIUSC, CTRL o ALT).
    • La proprietà KeyData, che combina il codice tasto e il modificatore.

Vedi anche