Condividi tramite


Utilizzo degli eventi di tastiera

La maggioranza dei programmi di Windows Form elabora gli input della tastiera tramite gestione dei relativi eventi. Questo argomento fornisce una panoramica degli eventi di tastiera, inclusi dettagli su quando usare ogni evento e sui dati forniti per ogni evento. Vedere anche Panoramica dei gestori eventi (Windows Form) e Panoramica degli eventi (Windows Form).

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 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 Funzionamento dell'input da 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