faelwan 0 Denunciar post Postado Novembro 11, 2009 Olá pessoal, é minha primeira vez aqui no fórum .Net, mas há algum tempo participo do Forum de Visual Basic. Bem como já disse, eu programava VB6.0 e resolvi migrar para VB.Net 2008. Assim ando me deparando com probleminhas bobos de adaptação. Logo peço a ajda de vcs. Seguinte: Tenho um Formulário de Cadastro que realiza a entrada de materiais no estoque de determinada empresa. Nesse formulário eu tenho um botão que chama um form modal que exibe em um flexgrid os fornecedores da empresa, nele o usuário clica no fornecedor e clica em Ok, dessa forma esse modal deveria inserir o código do fornecedor escolhido no Form de Cadastro e se fecharia. Foi aí que me deparei com o problema: tentei fazer o seguinte: 'no form modal Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.Click frmCadEntradas.txtCodFornecedor.Text= vId Me.Close() End Sub Já verifiquei o valor de vId e está de acordo. Pra mim que estava acostumado ao VB6.0, isso funcionaria perfeitamente, rsrs, mas no .net não acontece nada nem gera erro, apena fecha o form modal. Bom quem puder me ajudar eu agradeço. Obs.: Já li um tópico sobre esse problema aqui no fórum mas não resolveu At+ Pessoal Att, Compartilhar este post Link para o post Compartilhar em outros sites
faelwan 0 Denunciar post Postado Novembro 11, 2009 Bom pessoal, passei o dia pesquisando e consegui resolver o problema. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Bem, mesmo que seja um problema básico acredito que existam outros colegas vindos do VB6.0 que possam ter o mesmo problema. Assim posto a solução. Seguinte, de acordo com o Sr Macorrati, nesta fonte VB.Net Trabalhando com FormuláriosNet Trabalhando com Formulários o conceito de Orientação a Objetos(Que ferve a cabeça dos acostumados com linguagem estrutural) existente no VB.Net define os formulários criados como Classes. Dessa forma antes de mencionar estes formulários no código nós devemos instanciá-los em Objetos: Public ObjfrmCadastros As New frmCadastros e em seguida utilizar o Objeto no código: Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.Click ObjfrmCadastros.txtCodFornecedor.Text= vId End Sub Aí sim! Dessa forma funciona! Um macete legal que o Sr Macorrati nos passa, é criar um Modulo já com a criação dos Objetos à partir das classes, adptando bastante o código: Module ModuloBase Public ObjMdiSistema As New mdiSistema() Public ObjfrmCadEntradas As New frmCadEntradas() Public ObjfrmConsFor As New frmConsFor() End Module Bem é isso! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Como antigo "Vb6zista" declaro: Aprofundemo-nos nos conceitos de OO, pois quem não evolui pára no tempo.(E fica sem emprego, rsrs) Abraço a todos Att, Compartilhar este post Link para o post Compartilhar em outros sites