Princípio de Funcionamento da Entrada do Teclado
O Windows Forms lida com a entrada do teclado gerando eventos de teclado em resposta a mensagens do Windows. A maioria dos aplicativos Windows Forms lida com a entrada do teclado exclusivamente processando eventos de teclado. No entanto, para implementar cenários de entrada de teclado mais avançados (como interceptar as teclas antes que elas cheguem a um controle), é essencial entender como as mensagens do teclado funcionam. Este tópico descreve os tipos de dados de pressionamento de tecla que o Windows Forms pode reconhecer e descreve como as mensagens do teclado são entregues. Para obter informações sobre eventos de teclado, consulte Usando Eventos de Teclado.
O Windows Forms identifica a entrada do teclado como códigos de teclas virtuais representados pelo bitwise Keys
enumeração. A enumeração Keys
permite que você combine uma série de pressionamentos de tecla para gerar um único valor, que corresponde aos valores acompanhados pelas mensagens do Windows WM_KEYDOWN
e WM_SYSKEYDOWN
. A maioria das operações de teclas físicas pode ser detectada manipulando os eventos KeyDown
ou KeyUp
.
As teclas de caracteres são um subconjunto da enumeração Keys
, correspondendo aos valores acompanhados pelas mensagens do Windows WM_CHAR
e WM_SYSCHAR
. Se uma combinação de teclas produzir um caractere, você pode detectá-lo manipulando o evento KeyPress
. Alternativamente, você pode usar o objeto Keyboard
exposto pela interface de programação do Visual Basic para identificar e enviar as teclas pressionadas. Para obter mais informações, consulte Acessando o Teclado.
Conforme listado acima, três eventos relacionados ao teclado podem ocorrer em um controle. A seguir, a ordem geral em que esses eventos ocorrem:
- O usuário pressiona a tecla "a". A tecla é pré-processada e despachada, e um evento
KeyDown
ocorre.
- O usuário mantém pressionada a tecla "a". A tecla é pré-processada e despachada, e um evento
KeyPress
ocorre.
- Este evento ocorre várias vezes se o usuário mantiver a tecla pressionada.
- O usuário solta a tecla "a". A tecla é pré-processada e despachada, e um evento
KeyUp
ocorre.