FOCUS E SELECT NÃO FUNCIONA!

NOBODY 29/12/2015 21:20:01
#455636
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.
JABA 29/12/2015 22:51:14
#455639
é só dar o foco nele quando o Form entrar, ou chamar isso diretamente guando fechar o formConsulta:

TXTQUANTIDADE.Focus()

KURTGU 29/12/2015 23:10:05
#455640
na propriedade formclosed de coloque

Private Sub Form2_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
txtquantidade.focus()
txtquantidade.select()
End Sub
ACCIOLLY 30/12/2015 10:57:42
#455649
Resposta escolhida
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 acima

Private Sub Form2_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
Form1.FocaText()
End Sub

NOBODY 30/12/2015 23:57:20
#455662
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 acima

Private 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.
NOBODY 31/12/2015 00:11:52
#455663
FIZ O SUGERIDO MAIS O PROBLEMA PERSISTE.
JABA 31/12/2015 01:22:48
#455667
Posta o seu projeto aqui pra gente ver, acho que só assim resolveremos
KURTGU 31/12/2015 10:06:05
#455669
Veja no seu txtcodigo se o tab esta como 0 se sim ele irar iniciar sempre no txtcodigo...
ACCIOLLY 31/12/2015 17:40:56
#455681
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
FBGSYSTEMS 31/12/2015 21:05:25
#455684
Voce abriu o form de consulta como modal ?
Se sim:

frmConsulta cons = new frmConsulta();
cons.showdialog();

txtQtd.focus()
txtQtd.Select()
NOBODY 02/01/2016 12:50:13
#455706
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.
Tópico encerrado , respostas não são mais permitidas