none
Passar valor entre Forms de Filho para Pai RRS feed

  • Pergunta

  • Boa noite, estou com um probleminha em um form. O meu form (pai - mdi) abre um form (filho - mdi), gostaria de passar valores do filho para o pai, mas não sei como fazer.

    A minha aplicação é em windows forms e C#.

    Gostaria de um auxilio de vocês.

    quinta-feira, 14 de fevereiro de 2013 01:40

Respostas

  • Boa noite, estou com um probleminha em um form. O meu form (pai - mdi) abre um form (filho - mdi), gostaria de passar valores do filho para o pai, mas não sei como fazer.

    A minha aplicação é em windows forms e C#.

    Gostaria de um auxilio de vocês.

    Seus problemas acabaram...

    De uma olhada no link abaixo, o Thiago explica todas as possíveis formas de se fazer a passagem de informações de uma Tela de Origem para uma Tela de Destino...

    http://www.thiagocoelho.net/blog/index.php/comunicacao-entre-forms/


    Leonardo Lourenço Silva

    sexta-feira, 15 de fevereiro de 2013 03:56

Todas as Respostas

  • Quais informações deseja passar para o outro form?

    Leonardo Garcia
    pensouweb@hotmail.com

    quinta-feira, 14 de fevereiro de 2013 02:39
  • Olá, Anderson. 

    Já testou um básico: 

    public String Nome {get; set; }

    public String Idade {get; set; }

    ...

    void Button1Click(object sender, EventArgs e) { ((FormPai)Application.OpenForms["FormPai"]).StatusTeste.Text = Nome + " " + Idade; }


    Testei aqui e funcionou direitinho, você pode adaptar pro seu objetivo. 

    Há outras formas, mas essa é bem simples e prática. 


    Se a resposta foi útil, não deixe de clicar na setinha verde. Alguma ajuda neste tópico te levou a solução do problema? Então proponha como resposta para o tópico ser melhor identificado.


    quinta-feira, 14 de fevereiro de 2013 04:07
  • Lembrando que o modifier da propriedade do FormPai precisa estar Public, no exemplo que deixei acima.

    Se a resposta foi útil, não deixe de clicar na setinha verde. Alguma ajuda neste tópico te levou a solução do problema? Então proponha como resposta para o tópico ser melhor identificado.

    quinta-feira, 14 de fevereiro de 2013 04:38
  • Realmente ainda não entendi. Como deve ser feito!
    sexta-feira, 15 de fevereiro de 2013 00:03
  • Realmente ainda não entendi. Como deve ser feito!

    Amigo, no exemplo que eu te dei é bem simples. Vamos lá: 

    1 - Crie um form de nome "FormPai". 

     Deverá ter a propriedade IsMdiContainer setada como true. Também adicione um MenuStrip e uma StatusStrip. No MenuStrip adicione um novo menuzinho chamado MnuFilho. Na StatusStrip adicione uma label de nome StatusTeste. 

    2 - Crie outro form de nome "FormFilho". Adicione um button e coloque o código abaixo código:

    public partial class FormFilho : Form { public string Nome { get; set; } public string Idade { get; set; } public FormFilho() { InitializeComponent(); }

    // No Clique do button será atribuido um valor de uma variável interna do FormFilho ao FormPai.

        void Button1Click(object sender, EventArgs e)         {

    //Abaixo acessamos o FormPai e a propriedade Text do StatusTeste atribuindo um valor.             ((FormPai)Application.OpenForms["FormPai"]).StatusTeste.Text  = Nome + " tem " + Idade;          } }

    3. Agora no FormPai, no evento click do MnuFilho adicione o código: 

     FormFilho Frm= new FormFilho();
    
                Frm.Text = "Teste";
                Frm.WindowState = FormWindowState.Maximized;
                Frm.TopLevel = false; 
                Frm.Nome = "Vinicius"; 
                Frm.Idade = "19"; 
                Frm.MdiParent = this;           
                Frm.Show(); 

    Agora que chamamos o FormFilho deverá aparecer dentro do FormPai, certo?

    4 - Agora é só testar. Esse é um exemplo bem simples, você poderá atribuir diversos valores gravados no FormFilho ao FormPai dessa maneira. 

    Abraços, se ajudou não se esqueça de dar aquele pontozinho XD


    Se a resposta foi útil, não deixe de clicar na setinha verde. Alguma ajuda neste tópico te levou a solução do problema? Então proponha como resposta para o tópico ser melhor identificado.

    sexta-feira, 15 de fevereiro de 2013 01:33
  • Boa noite, estou com um probleminha em um form. O meu form (pai - mdi) abre um form (filho - mdi), gostaria de passar valores do filho para o pai, mas não sei como fazer.

    A minha aplicação é em windows forms e C#.

    Gostaria de um auxilio de vocês.

    Seus problemas acabaram...

    De uma olhada no link abaixo, o Thiago explica todas as possíveis formas de se fazer a passagem de informações de uma Tela de Origem para uma Tela de Destino...

    http://www.thiagocoelho.net/blog/index.php/comunicacao-entre-forms/


    Leonardo Lourenço Silva

    sexta-feira, 15 de fevereiro de 2013 03:56