Ir para conteúdo
Fórum Script Brasil
  • 0

Tabulação automática


frata

Pergunta

Numa determinada aplicação, limitei o número de dígitos do text1 como três, usando a propriedade

Maxlength, porém gostartia que após ser digitado o terceiro dígito fosse automáticamente para o

text2. Alguém sabe me dizer como configurar essa propriedade. Antigamente no VBA eu acho que

tinha algo como AutoTab...mas no VB 6.0 que eu uso, não encontrei essa propriedade :rolleyes: . Obrigado.

Frata

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

não, no vb6 não tem mesmo a propriedade AutoTab. a não ser q você inclua o textbox do vba entre os componentes.

no visual basic, você faria por keydown:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If Len(Text1.Text) = Text1.MaxLength Then Text2.SetFocus
End Sub[/code]

antes mude a propriedade KeyPreview do form para true.

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz um teste aki usando seu codigo[Kuroi] (a proposito esqueceu o end if :D) e não precisei mudar nada do keypreview, apenas utilize o codigo:

Private Sub Text1_Change()
If Len(Text1.Text) = Text1.MaxLength Then
Text2.SetFocus
End If
End Sub
Mas também funcionou dessa forma!
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If Len(Text1.Text) = Text1.MaxLength Then
Text2.SetFocus
End If
End Sub

Abraços, duvida poste!

Link para o comentário
Compartilhar em outros sites

  • 0

verdade, acho q o change seria ate melhor. se você fizer no keydown, ele deve mudar o foco se você clicar na flecha pra movimentar o cursor por exemplo, e ai você teria q usar algum codigo a mais pra impedir isso.

acho q você tb poderia usar um SendKeys "{TAB}" pra mudar o foco tb, assim não precisa ficar escrevendo o nome do proximo controle.

a proposito esqueceu o end if

se o if vai ter uma instrucao so, você pode fazer o if todo em uma linha e não precisa de end if, testa la o codigo q eu postei exatamente como ta.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, Matheus, funcionou perfeitamente com este código:....brigaduuuuuuuuuuuuu!!!

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

If Len(Text1.Text) = Text1.MaxLength Then

Text2.SetFocus

End If

End Sub

ah...uma coisinha...depois tenter transferir o foco (No mesmo esquema) para o command1, mas não funcionou...

Kuroi, brigadão também...valeu!!!!!!!!!!!!!

:P Frata

Link para o comentário
Compartilhar em outros sites

  • 0

Para dar foco no botão utilize esse codigo na segunda caixa de texto:

Private Sub Text2_Change()
If Len(Text2.Text) = Text2.MaxLength Then
Command1.SetFocus
End If
End Sub

Testa ai, aqui deu certo :D

Boa sorte!

Editado por Matheus-vb6
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...