USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  PULAR TEXT SEM O ENTER
Starlog
JABOATÃO DOS GURARAPES
PE - BRASIL
ENUNCIADA !
Postada em 07/05/2012 15:52 hs            
Senhores,
 
Tenho 3 textbox e para passar de um para o outro não gostaria de usar o ENTER e sim que pulasse automaticamente para o outro. Claro que existe uma regra para a quantidade de dígitos digitados.
Exemplo: Na text1 digito 456 (três dígitos) automaticamente pula para a text2, e nesta ao digitar 789 pula para a text3 e assim sucessivamente sem precisar usar o ENTER.
 
Alguém tem alguma luz?
   
J.Carlos
Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 08/05/2012 08:00 hs            
No Evento change de cada text é só verificar o tamanho do mesmo e forçar o comando tab:   
if len(txtcampo1.text) = 3 then
   Call SendKeys("{TAB}", True)
endif
   
Starlog
JABOATÃO DOS GURARAPES
PE - BRASIL
ENUNCIADA !
Postada em 08/05/2012 09:43 hs            
Ok, funcionou.
Mas fiz um programa com 150 textbox, tem como fazer isso sem ter que criar esse código para cada um?
 
 
   
J.Carlos
Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 08/05/2012 10:37 hs            
Aí, vc pode criar um Array de txt.
Supondo que o no me do campo txt fosse txtDescricao, no evento change voce mudaria para:
if len(txtDescricao(index).text) = txtDescricao.maxLength then
   Call SendKeys("{TAB}", True)
endif
Vc teria somente esta rotina tratando de todos eles. No campo MaxLength vc coloca o tamanho de cada um, isso possibilita vc ter tamanhos diferentes pra cada campo txt.
Abraços.
   
Starlog
JABOATÃO DOS GURARAPES
PE - BRASIL
ENUNCIADA !
Postada em 08/05/2012 11:13 hs            
J.Carlos
 
não entendi muito bem.
Digamos assim, tenho 3 textbox (txtNome, txtCidade, txtEstado)
Como ficarria o array neste caso?
 
 
 
   
J.Carlos
Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 08/05/2012 16:25 hs            
Na realidade vc vai criar um textbox chamado por exemplo de txtDescricao.
Seleciona ele e copie. clica no form com btn direito e cole. Ele vai pedir pra criar um arrayIndex, clica sim, Aí ele torna este campo um array e agora está com dois itens(índices). À medida que vc vai colando, ele vai criando mais um item text cada um com um índice que vai de zero a n índices que vc criar. Neste caso, o seu txtDescricao(0).text terá o Nome, txtDescricao(1).text terá a Cidade, txtDescricao(2).text terá o Estado.
No Evento Change do campo ficará ssim ao vc criá-lo:
Private Sub txtDescricao_Change(Index As Integer)
   if len(txtDescricao(index).text) = txtDescricao(index).Maxlength then
      Call SendKeys("{TAB}", True)
   endif
End Sub
Ou seja, em qualquer um que vc alterar ele saberá quem é através do valor que ele pasa no Index. Se você digitou algo no campo texto equivalente à Cidade, ele passará pro change(txtDescricao_Change) o índice=1.
Espero ter esclarecido.

    
TÓPICO EDITADO
 
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página