renner
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 06/07/2006 00:59 hs
Gostaria de saber como fazer para que quando um campo no formulario for totalmente preenchido, no visual basic, que o cursor pule automaticamente para o próximo campo sem ser necessário teclar tab ou enter? Se alguem puder ajudar desde já agradeço!
|
|
|
|
|
|
|
|
Postada em 06/07/2006 02:17 hs
Depende, se vc quer que o cursor pule automaticamente sem teclar tab ou enter vc precisa definir um tamanho máximo para o campo. Determinando um tamanho fica mais fácil fazermos o código. Por exemplo:
If Len(txtNome.Text) = 20 Then txtIdade.SetFocus End If
Qualquer coisa é só postar.
Filipe
|
|
|
|
|
|
Postada em 06/07/2006 07:03 hs
Olá, Eu recomendaria a você colocar isso em uma procedure separada, dentro de um módulo por exemplo, e chamá-la a partir do evento Change do seu textbox: Public Sub Pula_Campo() With Screen.ActiveForm.ActiveControl If Len(.Text) = .MaxLenght Then SenKeys "{TAB}" End if End With End Sub Assim, dentro do evento Change, basta chamar a procedure e ela irá determinar se deve ou não pular de campo. Veja, que essa procedure parte de dois princípios: que você defina o tamanho máximo do campo na propriedade MaxLenght e que os campos tenham o seu TabIndex ordenado na seqüência certa. um abraço, Sandro.
|
|
|
|
|
|
Postada em 06/07/2006 09:48 hs
A solução do Sandro me parece ser a ideal
dsmn
|
|
|
|
|
|
Postada em 06/07/2006 12:57 hs
vou testar a sua Sandro e a do Felipe, qualquer coisa posto novamente, obrigado!!
|
|
|
|
|
|
Postada em 06/07/2006 22:30 hs
Olá Sandro, Caro colega ao tentar implementar a sua dica no meu form estou recebendo a seguinte mensagem ao executa-lo:
"Object doesn´t support property or method"
o que posso fazer para contornar esse problema?
|
|
|
|