Table of contents
TOC
Recolher sumário
Expandir sumário

Evento NavigationControl.KeyDown (Access)NavigationControl.KeyDown Event (Access)

office 365 dev account|Última Atualização: 22/03/2018
|
2 Colaboradores

O evento KeyDown ocorre quando o usuário pressiona uma tecla enquanto um formulário ou controle tem o foco. Esse evento ocorre também quando você envia um pressionamento de tecla para um formulário ou controle usando a ação SendKeys em uma macro ou a instrução SendKeys no Visual Basic.The KeyDown event occurs when the user presses a key while a form or control has the focus. This event also occurs if you send a keystroke to a form or control by using the SendKeys action in a macro or the SendKeys statement in Visual Basic.

SintaxeSyntax

expressão. KeyDown (* * KeyCode, * * Shift ** )expression. **KeyDown( ** KeyCode, ** Shift )

expressão Uma variável que representa um objeto NavigationControl .expression A variable that represents a NavigationControl object.

ParâmetrosParameters

NomeNameObrigatório/opcionalRequired/OptionalTipo de dadosData TypeDescriçãoDescription
KeyCodeKeyCodeObrigatórioRequiredInteiroInteger
ShiftShiftObrigatórioRequiredIntegerInteger

Valor de retornoReturn Value

nothingnothing

ComentáriosRemarks

Para executar uma macro ou um procedimento do evento quando esses eventos ocorrem, defina a propriedade OnKeyDown com o nome da macro ou como [Procedimento do Evento].To run a macro or event procedure when these events occur, set the OnKeyDown property to the name of the macro or to [Event Procedure].

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.For both events, the object with the focus receives all keystrokes. A form can have the focus only if it has no controls or all its visible controls are disabled.

Um formulário também recebe todos os eventos de teclado, mesmo aqueles que ocorrem para controles, quando você define a propriedade KeyPreview do formulário como Sim. Com essa configuração de propriedade, todos os eventos de teclado ocorrem primeiro para o formulário e, em seguida, para o controle com o foco. Responda a teclas específicas pressionadas no formulário, independentemente de qual controle tem o foco. Por exemplo, se desejar que a combinação de teclas Ctrl+X sempre execute a mesma ação em um formulário.A form will also receive all keyboard events, even those that occur for controls, if you set the KeyPreview property of the form to Yes. With this property setting, all keyboard events occur first for the form, and then for the control that has the focus. You can respond to specific keys pressed in the form, regardless of which control has the focus. For example, you may want the key combination CTRL+X to always perform the same action on a form.

Ao manter pressionada uma tecla, os eventos KeyDown e KeyPress são alternados repetidamente ( KeyDown, KeyPress, KeyDown, KeyPress e assim por diante) até que a tecla seja liberada e, em seguida, ocorre o evento KeyUp.If you press and hold down a key, the KeyDown and KeyPress events alternate repeatedly ( KeyDown, KeyPress, KeyDown, KeyPress, and so on) until you release the key, then the KeyUp event occurs.

Embora o evento KeyDown ocorra quando a maioria das teclas é pressionada, ele geralmente é usado para reconhecer ou diferenciar:Although the KeyDown event occurs when most keys are pressed, it is typically used to recognize or distinguish between:

  • Teclas de caracteres estendidos, como as teclas de função.Extended character keys, such as function keys.

  • Teclas de navegação, como HOME, END, PAGE UP, PAGE DOWN, SETA PARA CIMA, SETA PARA BAIXO, SETA PARA A DIREITA, SETA PARA A ESQUERDA e TAB.Navigation keys, such as HOME, END, PAGE UP, PAGE DOWN, UP ARROW, DOWN ARROW, RIGHT ARROW, LEFT ARROW, and TAB.

  • Combinações de teclas e modificadores padrão de teclado (teclas SHIFT, CTRL ou ALT).Combinations of keys and standard keyboard modifiers (SHIFT, CTRL, or ALT keys).

  • O teclado numérico e teclas numéricas do teclado.The numeric keypad and keyboard number keys.

O evento KeyDown não ocorre quando você pressiona:The KeyDown event does not occur when you press:

  • A tecla Enter quando o formulário tem um botão de comando para o qual a propriedade Default está definida como Sim.The ENTER key if the form has a command button for which the Default property is set to Yes.

  • A tecla Esc quando o formulário tem um botão de comando para o qual a propriedade Cancel está definida como Sim.The ESC key if the form has a command button for which the Cancel property is set to Yes.

O evento KeyDown ocorre quando você pressiona ou envia uma tecla ANSI. O evento KeyUp ocorre após qualquer evento de um controle causado pelo pressionamento ou envio da tecla. Quando um pressionamento de tecla faz com que o foco mude de um controle para outro, o evento KeyDown ocorre para o primeiro controle, enquanto os eventos KeyPress e KeyUp ocorrem para o segundo.The KeyDown event occurs when you press or send an ANSI key. The KeyUp event occurs after any event for a control caused by pressing or sending the key. If a keystroke causes the focus to move from one control to another control, the KeyDown event occurs for the first control, while the KeyPress and KeyUp events occur for the second control.

Para localizar o caractere ANSI correspondente à tecla pressionada, use o evento KeyPress.To find out the ANSI character corresponding to the key pressed, use the KeyPress event.

Quando uma caixa de diálogo restrita é exibida como resultado do pressionamento ou envio de uma tecla, os eventos KeyDown e KeyPress ocorrem, mas o evento KeyUp não ocorre.If a modal dialog box is displayed as a result of pressing or sending a key, the KeyDown and KeyPress events occur, but the KeyUp event doesn't occur.

ExemploExample

O exemplo a seguir determina se você pressionou a tecla SHIFT, CTRL ou ALT.The following example determines whether you have pressed the SHIFT, CTRL, or ALT key.

Para testar o exemplo, adicione o procedimento de evento a seguir para um formulário contendo uma caixa de texto denominada KeyHandler.To try the example, add the following event procedure to a form containing a text box named KeyHandler.

Private Sub KeyHandler_KeyDown(KeyCode As Integer, _ 
 Shift As Integer) 
 Dim intShiftDown As Integer, intAltDown As Integer 
 Dim intCtrlDown As Integer 

 ' Use bit masks to determine which key was pressed. 
 intShiftDown = (Shift And acShiftMask) > 0 
 intAltDown = (Shift And acAltMask) > 0 
 intCtrlDown = (Shift And acCtrlMask) > 0 
 ' Display message telling user which key was pressed. 
 If intShiftDown Then MsgBox "You pressed the SHIFT key." 
 If intAltDown Then MsgBox "You pressed the ALT key." 
 If intCtrlDown Then MsgBox "You pressed the CTRL key." 
End Sub

Ver tambémSee also

ConceitosConcepts

Objeto ControledenavegaçãoNavigationControl Object

© 2018 Microsoft