Trocando o TAB pelo ENTER

Mudar o foco de um controle para outro quando o usuário pressionar a tecla ENTER.

Podemos fazer isto da seguinte maneira:

Insira o código abaixo no evento KeyPress do formulário e defina a propriedade KeyPreview do formulário para True. Quando o usuário pressiona uma tecla ela é enviada para o controle que tem o foco, a menos que você defina propriedade KeyPreview do formulário como True , isto permite que coloquemos o tratamento para o teclado no Evento KeyPress do formulário ao invés de colocar em cada controle usado no formulário.
Private Sub Form_KeyPress(KeyAscii As Integer)
'Esse código permite a mudança de quadro de
'texto através do Enter

If KeyAscii = 13 Then
'Se o tipo do controle ativo for TextBox
If TypeOf Screen.ActiveControl Is TextBox Then
'Simula o pressionamento da tecla TAB
SendKeys "{tab}"
'A linha a seguir evita ouvir um bip
KeyAscii = 0
End If
End If
End Sub

O código acima intercepta a tecla ENTER e envia um TAB , mudando o foco entre todas as caixas de texto do formulário. É mais simples do que colocar o código no evento KeyPress de cada caixa de texto. Se você quiser fazer isto valendo somente para uma caixa de texto então o código fica assim:
Private Sub Text1_KeyPress(KeyAscii As Integer)
'Esse código permite a mudança de quadro de
'texto através do Enter
If KeyAscii = 13 Then
'Simula o pressionamento da tecla TAB
SendKeys "{tab}"
'A linha a seguir evita ouvir um bip
KeyAscii = 0
End If
End Sub

Comentários

Postagens mais visitadas deste blog

CADe SIMU BR 3.0 Tradução para o Português

Pasta de arquivos ctb. - AutoCAD