Usando eventos de teclado

A maioria dos programas do Windows Forms processa a entrada do teclado manipulando os eventos do teclado. Este artigo fornece uma visão geral dos eventos de teclado, incluindo detalhes sobre quando usar cada evento e os dados que cada evento fornece. Para obter mais informações sobre eventos em geral, consulte Visão geral de eventos.

Eventos de teclado

O Windows Forms gera os seguintes eventos quando um utilizador pressiona e solta uma tecla do teclado:

Quando um usuário pressiona uma tecla, o Windows Forms determina qual evento gerar com base no fato de a mensagem do teclado especificar uma tecla de caractere ou uma tecla física. Para obter mais informações sobre caracteres e teclas físicas, consulte Visão geral do teclado, eventos do teclado.

Evento KeyDown

O KeyDown evento é ativado quando um utilizador pressiona uma tecla física. Se a tecla for mantida pressionada, este evento repete-se à taxa de repetição do teclado do sistema operativo.

O manipulador para KeyDown recebe um KeyEventArgs parâmetro que fornece:

  • A KeyCode propriedade, que especifica um botão físico do teclado.
  • A Modifiers propriedade (Shift, Ctrl, ou Alt).
  • A KeyData propriedade, que combina o código de chave e o modificador.
  • A Handled propriedade que impede que o controlo subjacente receba a chave quando definida.
  • A SuppressKeyPress propriedade, que suprime os eventos KeyPress e KeyUp para essa tecla pressionada.

Evento KeyPress

O KeyPress evento é ativado quando a tecla ou teclas pressionadas resultam num carácter. Por exemplo, pressionar Shift e a tecla minúscula "a" produz uma letra maiúscula "A". KeyPress é ativado após KeyDown, e repete-se à taxa de repetição de teclas do sistema operativo enquanto a tecla permanece pressionada.

O handler para KeyPress recebe um KeyPressEventArgs parâmetro que contém o código do carácter da tecla pressionada. Este código de caractere é exclusivo para cada combinação de uma chave de caractere e uma chave modificadora.

Por exemplo, a chave "A" gera:

  • O código de carácter 65, se for pressionado com a tecla Shift.
  • O código de personagem 65, se o Caps Lock estiver ativado.
  • O código de caractere 97, se for pressionado sozinho.
  • O código de caractere 1, quando pressionado com a tecla Ctrl.

Evento KeyUp

O KeyUp evento é ativado uma vez quando um utilizador liberta uma chave física.

O manipulador para KeyUp recebe um KeyEventArgs parâmetro que fornece:

  • A KeyCode propriedade, que especifica um botão físico do teclado.
  • A Modifiers propriedade (Shift, Ctrl, ou Alt).
  • A KeyData propriedade, que combina o código de chave e o modificador.

Ver também