FOCUS E SELECT NÃO FUNCIONA!
BOA NOITE GALERA.
ESTOU COM UM PROBLEMA APARENTIMENTE SIMPLES DE RESOLVER.
VAMOS PARA A SITUAÇÃO.
...
TENHO 2 FORM[ô]S
O PRIMEIRO FORM CHAMA O SEGUNDO FORM COM A TECLA F4, SEGUNDO FORM FILTRA OS DADOS E QUANDO TECLADO O ENTER ELE FECHAR O SEGUNDO FORM E DEVERIA FOCAR UM TEXTBOX QUE ESTA NO PRIMEIRO FORM MAIS ELE FICA AINDA NO TEXTBOX INICIAL.
VAMOS AO EXEMPLO
PRIMEIRO FORM
TXTCODIGO E TXTQUANTIDADE
QUANDO TECLADO F4 ABRIR O FORM DE CONSULTA
E QUANDO TECLADO O ENTER NA SELECAO ELE DEVE SE FECHAR E DAR O FOCO EM TXTQUANTIDADE QUE ESTA NO PRIMEIRO FORM.
OBRIGADO PELA ATENÇÃO.
ESTOU COM UM PROBLEMA APARENTIMENTE SIMPLES DE RESOLVER.
VAMOS PARA A SITUAÇÃO.
...
TENHO 2 FORM[ô]S
O PRIMEIRO FORM CHAMA O SEGUNDO FORM COM A TECLA F4, SEGUNDO FORM FILTRA OS DADOS E QUANDO TECLADO O ENTER ELE FECHAR O SEGUNDO FORM E DEVERIA FOCAR UM TEXTBOX QUE ESTA NO PRIMEIRO FORM MAIS ELE FICA AINDA NO TEXTBOX INICIAL.
VAMOS AO EXEMPLO
PRIMEIRO FORM
TXTCODIGO E TXTQUANTIDADE
QUANDO TECLADO F4 ABRIR O FORM DE CONSULTA
E QUANDO TECLADO O ENTER NA SELECAO ELE DEVE SE FECHAR E DAR O FOCO EM TXTQUANTIDADE QUE ESTA NO PRIMEIRO FORM.
OBRIGADO PELA ATENÇÃO.
é só dar o foco nele quando o Form entrar, ou chamar isso diretamente guando fechar o formConsulta:
TXTQUANTIDADE.Focus()
na propriedade formclosed de coloque
Private Sub Form2_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
txtquantidade.focus()
txtquantidade.select()
End Sub
Private Sub Form2_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
txtquantidade.focus()
txtquantidade.select()
End Sub
crie um método publico e estático no primeiro form que de o foco nesse text (em vb.net Shared equivale ao static do C# ou Java)
e no segundo Form chame esse método do primeiro utilizando o método que o KURTGU mostrou logo acima
Public Shared Sub FocaText()
txtquantidade.focus()
txtquantidade.select()
End Sub
e no segundo Form chame esse método do primeiro utilizando o método que o KURTGU mostrou logo acima
Private Sub Form2_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
Form1.FocaText()
End Sub
Citação::
crie um método publico e estático no primeiro form que de o foco nesse text (em vb.net Shared equivale ao static do C# ou Java)Public Shared Sub FocaText()
txtquantidade.focus()
txtquantidade.select()
End Sub
e no segundo Form chame esse método do primeiro utilizando o método que o KURTGU mostrou logo acimaPrivate Sub Form2_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
Form1.FocaText()
End Sub
COMPALHEIRO FIZ ALGO SIMILAR AO CODIGO REPASSADO MAIS O CAMARADA CONTINUA INDO PARA O CODIGO E NAO TXTQUANTIDADE é INCRIVEL COMO UM CODIGO PODE EXTRESSAR TANTO.
FIZ O SUGERIDO MAIS O PROBLEMA PERSISTE.
Posta o seu projeto aqui pra gente ver, acho que só assim resolveremos
Veja no seu txtcodigo se o tab esta como 0 se sim ele irar iniciar sempre no txtcodigo...
1 - como você chama o form1? cria uma nova instancia? ou apenas chama ele?
2 - seu form1 continua aberto enquanto o form2 está em execução?
3 - mesmo que o form2 acione o método estático do form1, a hora que ele se fechar é como se não tivesse acontecido nada! eu acho!
possÃvel solução
faça o form2 acionar um timer do form1 pra quando chegar no segundo 2 (por exemplo) seja chamado o método que de o focus.
Foi mau aà KERPLUNK! POG em ação agora! rsrsrsrsrs
2 - seu form1 continua aberto enquanto o form2 está em execução?
3 - mesmo que o form2 acione o método estático do form1, a hora que ele se fechar é como se não tivesse acontecido nada! eu acho!
possÃvel solução
faça o form2 acionar um timer do form1 pra quando chegar no segundo 2 (por exemplo) seja chamado o método que de o focus.
Foi mau aà KERPLUNK! POG em ação agora! rsrsrsrsrs
Voce abriu o form de consulta como modal ?
Se sim:
frmConsulta cons = new frmConsulta();
cons.showdialog();
txtQtd.focus()
txtQtd.Select()
Se sim:
frmConsulta cons = new frmConsulta();
cons.showdialog();
txtQtd.focus()
txtQtd.Select()
SO RESOLVI DESTA FORMA é UMA GAMBIARRA: é, UMA SOLUCAO: é
NÃO RESOLVI DE FORMA NATURAL.
OBRIGADO GALERA.
OBS: ISSO SÓ ESTà ACONTECENDO NESTE FORM O RESTO Tà NORMAL.
NÃO RESOLVI DE FORMA NATURAL.
OBRIGADO GALERA.
OBS: ISSO SÓ ESTà ACONTECENDO NESTE FORM O RESTO Tà NORMAL.
Tópico encerrado , respostas não são mais permitidas