Compartilhar via


Evento Form.KeyUp (Access)

O evento KeyUp ocorre quando o usuário libera uma tecla enquanto um formulário ou controle tenha o foco. Esse evento também ocorre se você enviar um pressionamento de tecla para um formulário ou controle usando a ação EnviarSequênciaDeCaracteres em uma macro ou da instrução SendKeys no Visual Basic.

Sintaxe

expressão. KeyUp (KeyCode, Shift)

expressão Uma variável que representa um objeto Form.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
KeyCode Obrigatório Integer Um código de chave, como vbKeyF1 (a chave F1) ou vbKeyHome (a chave inicial). Para especificar códigos de tecla, use as constantes intrínsecas mostradas no Pesquisador de objetos. Você pode impedir que um objeto receba um toque de tecla definindo KeyCode como 0.
Shift Obrigatório Integer O estado das chaves Shift, Ctrl e Alt no momento do evento. Se você precisar testar o argumento Shift , poderá usar uma das seguintes constantes intrínsecas como máscaras de bit:
  • acShiftMask A máscara de bit para a chave Shift.

  • acCtrlMask A máscara de bit para a chave Ctrl.

  • acAltMask A máscara de bit para a tecla Alt.

Comentários

Para executar um macro ou procedimento de evento quando esses eventos ocorrerem, defina a propriedade OnKeyUp com o nome da macro ou como [procedimento do evento].

Para ambos os eventos, o objeto com o foco recebe todos os pressionamentos de teclas. Um formulário pode ter o foco somente se não tiver controles ou se todos os seus controles visíveis estiverem desativados.

Um formulário também receberá todos os eventos de teclado, mesmo aqueles que ocorrem para controles, se você definir a propriedade KeyPreview do formulário como Sim. Com a configuração dessa propriedade, todos os eventos de teclado ocorrem primeiro para o formulário e, em seguida, para o controle que tem o foco. Você pode responder a teclas específicas pressionadas no formulário, independentemente de qual controle tem o foco. Por exemplo, talvez você queira que a combinação de chaves Ctrl+X sempre execute a mesma ação em um formulário.

Se você pressionar e segurar uma tecla, os eventos KeyDown e KeyPress alternarão repetidamente (KeyDown, KeyPress, KeyDown, KeyPress e assim por diante) até liberar a tecla, o evento KeyUp ocorrerá.

Embora o evento KeyUp ocorra quando a maioria das teclas é pressionada, ele geralmente é utilizado para reconhecer ou diferenciar:

  • Teclas de caracteres estendidos, como as teclas de função.

  • Chaves de navegação, como Home, End, PgUp, PgDn, Seta para cima, seta para baixo, seta para a direita, seta para a esquerda e Tab.

  • Combinações de teclas e modificadores de teclado padrão (teclas Shift, Ctrl ou Alt).

  • O teclado numérico e teclas numéricas do teclado.

O evento KeyUp não ocorre quando você pressiona:

  • A tecla Enter se o formulário tiver um botão de comando para o qual a propriedade Default será definida como Sim.

  • A chave Esc se o formulário tiver um botão de comando para o qual a propriedade Cancelar será definida como Sim.

O evento KeyUp ocorre depois de qualquer evento para um controle gerado pelo pressionamento ou envio da tecla. Se um pressionamento de tecla faz o foco mover de um controle para outro controle, o evento KeyDown ocorra para o primeiro controle, enquanto os eventos KeyPress e KeyUp ocorrem para o segundo controle.

Para descobrir o caractere ANSI correspondente à tecla pressionada, utilize o evento KeyPress.

Se uma caixa de diálogo restrita for exibida como resultado do pressionamento ou envio de uma tecla, os eventos KeyDown e KeyPress ocorrem, mas o evento KeyUp não ocorre.

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.