PASSAR DADOS PARA UMA TXTBOX DE UM USERCONTOL

MRSILVA 20/05/2016 08:33:39
#462308
Olá pessoal.

Fiz as pesquisa sobre o assunto tentei de varias formas mas não estou conseguindo resolver meu problema, fico muito grato se algum me der uma dica de como fazer.

Estou utilizando UserControl ao invés de formulários da seguinte forma tenho um formulário fixo (principal) onde meus UserControl são abertos dentro de uma tabControl que fica dentro do meu formulário fixo até ai tudo bem está funcionando tudo corretamente, só que em determinas situação do meu UserControl preciso chamar um formulário auxiliar para buscar alguns dados e preencher algumas textBox do meu UserControl, não estou conseguindo fazer isso, já tentei de varias formas, por passagem de parâmetros entre outras mas minhas TextBox não são preenchidas mas também não da erro.

Desde já agradeço que puder me apontar o caminho.

JABA 20/05/2016 12:06:58
#462315
Poste o código de como vem fazendo. E se possível, uma imagem da tela.
MRSILVA 20/05/2016 12:35:29
#462316
Olá Jaba.

Esse é o código que chamo para abrir o formulário auxiliar através do meu UserControl
 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim frm As frmSelecaoEmp = New frmSelecaoEmp(tbEmpresas)

frm.Show()



End Sub
End Class


Esse é o código que após de escolhido uma informação ele carregaria algumas textBox, no momento não está completo porque estou tentando resolver esse problema, mais já era para preencher uma textBox.

Private Sub btnSelecionar_Click(sender As Object, e As EventArgs) Handles btnSelecionar.Click

Dim UseControl As UserBuscarNf = New UserBuscarNf(empresas)

UseControl.txtRazao.Text = [Ô]teste[Ô]

Me.Visible = False

End Sub


Desde já agradeço sua ajuda
JABA 20/05/2016 13:22:14
#462318
Citação:

Dim frm As frmSelecaoEmp = New frmSelecaoEmp(tbEmpresas)

frm.Show()



Muito provavelmente você está preenchendo o formulário errado. Quando você cria uma instância do form - como fez acima - um novo form é criado na memória. Tente chamar o form diretamente sem criar a instância, da seguinte forma:

frmSelecaoEmp.Show()
MRSILVA 20/05/2016 15:03:51
#462319
Jaba muito obrigado pela sua ajuda.

Essa parte do código está funcionando correto o formulário abre normalmente o que está dando errado é o segundo código não preenche o TextBox do meu UserControl.

Vou explicar com mais detalhes:

Tenho um UserControl dentro de um TabControl, mo meu userControl que se chama UserBuscarNf tem um botão que abre um formulário que se chama frmSelecaoEmp esse código que está funcionando perfeitamente.

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim frm As frmSelecaoEmp = New frmSelecaoEmp(tbEmpresas)

frm.Show()



End Sub
End Class


O formulário frmSelecaoEmp é aberto e nele tem um botão que quando eu der um click erá para preencher uma TextBox que está no meu UserControl que se chama (UserBuscarNf), é essa parte que não está funcionado, não preenche o TextBox mas também não da erro, veja ó código abaixo.

 Private Sub btnSelecionar_Click(sender As Object, e As EventArgs) Handles btnSelecionar.Click

Dim UseControl As UserBuscarNf = New UserBuscarNf(empresas)

UseControl.txtRazao.Text = [Ô]teste[Ô]

Me.Visible = False

End Sub
JABA 20/05/2016 15:31:18
#462320
Sim, eu já havia entendido e sabia que o código estava funcionando. Porém, você está criando uma variável local para chamar o form e ela se perde quando o click termina, logo a instância do form no qual está tentando preencher é outra, por isso que os dados não aparecem.

Se você quiser fazer um teste, coloque [Ô]Dim frm As frmSelecaoEmp[Ô] como global e preenche com base nessa instância.
PERCIFILHO 20/05/2016 15:56:36
#462322
é exatamente o que o JABA disse; se você instanciar uma variável local do form, você estará tentando preencher o TextBox que no seu caso não existe. A saída como ele disse é criar a variável do seu form como Global, aí você vai [ô]chamar[Ô] o seu form correto na hora de preencher a TextBox.
MRSILVA 20/05/2016 16:24:54
#462323
Jaba obrigado pela Ajuda.

Mas ainda não consegui, fiz o que você pediu mas não sei o que estou fazendo algo errado.
Fiz um pequeno exemplo do que estou tentando fazer eu vou postar se puder me ajudar fico muito grato.

Não vou postar o projeto porque essa parte precisa ter acesso ao banco de dados para funcionar.

Desde já agradeço sua atenção.
JABA 20/05/2016 16:53:39
#462324
Resposta escolhida
Vê se é isso.
MRSILVA 20/05/2016 17:16:32
#462328
Jaba é isso mesmo que preciso, gastei umas 3 horas ontem a noite tentando hoje resolvi perguntar, lê muita coisa na internet mas nada que falava dessa variável local.

Muito obrigado.


Tópico encerrado , respostas não são mais permitidas