Principio di funzionamento dell'input da tastiera
Windows Forms gestisce l'input da tastiera generando eventi di tastiera in risposta ai messaggi di Windows. La maggior parte delle applicazioni Windows Forms gestisce l'input da tastiera esclusivamente elaborando gli eventi di tastiera. Tuttavia, per implementare scenari di input da tastiera più avanzati (come l'intercettazione dei tasti prima che raggiungano un controllo), è essenziale capire come funzionano i messaggi di tastiera. Questo argomento descrive i tipi di dati di battitura che Windows Forms può riconoscere e illustra come vengono recapitati i messaggi di tastiera. Per informazioni sugli eventi di tastiera, vedere Utilizzo degli eventi di tastiera.
Windows Forms identifica l'input da tastiera come codici di tasti virtuali rappresentati dall'operazione bit per bit Keys
enumerazione. L'enumerazione Keys
consente di combinare una serie di battiture per generare un singolo valore, che corrisponde ai valori accompagnati dai messaggi di Windows WM_KEYDOWN
e WM_SYSKEYDOWN
. La maggior parte delle operazioni sui tasti fisici può essere rilevata gestendo gli eventi KeyDown
o KeyUp
.
I tasti carattere sono un sottoinsieme dell'enumerazione Keys
, corrispondente ai valori accompagnati dai messaggi di Windows WM_CHAR
e WM_SYSCHAR
. Se una combinazione di tasti produce un carattere, è possibile rilevarlo gestendo l'evento KeyPress
. In alternativa, è possibile utilizzare l'oggetto Keyboard
esposto dall'interfaccia di programmazione Visual Basic per identificare e inviare i tasti premuti. Per ulteriori informazioni, vedere Accesso alla tastiera.
Come elencato sopra, su un controllo possono verificarsi tre eventi relativi alla tastiera. Di seguito è riportato l'ordine generale in cui si verificano questi eventi:
- L'utente preme il tasto "a". Il tasto viene pre-elaborato e inviato e si verifica un evento
KeyDown
.
- L'utente tiene premuto il tasto "a". Il tasto viene pre-elaborato e inviato e si verifica un evento
KeyPress
.
- Questo evento si verifica più volte se l'utente tiene premuto il tasto.
- L'utente rilascia il tasto "a". Il tasto viene pre-elaborato e inviato e si verifica un evento
KeyUp
.