none
MDIParent - Passando informação de Filho para Pai RRS feed

  • Pergunta

  • Boa Tarde!

    Estou fazendo um projeto com Mdiparent, estou com a seguinte dificuldade.

    Tenho uma Label na FormPai que funciona com o clique para aparecer uma Grid, quando o usuário vai para o menu e acessa a FormFilho deixo essa label  visible=false

    O problema é quando fecho o FormFilho e tenho que retornar para o FormPai colocando visible=true novamente.

    Não estou conseguindo fazer essa alteração no Form Pai 

    Segue Código:

    menu que chama Filho:

    // Ainda no pai deixo a label visible=false
                label.Visible = false;
    // Instancio e vou para o Formulário filho
                FrmFilhoForm = new FrmFilho();
                Form.MdiParent = this;
                Form.Show();

    No Filho tentando passar para o Pai no fechar da tela:

     this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(formClosing);
             private void formClosing(object sender, EventArgs e)
            {
       ?  - Código passando a ação de visible=true para a FormPai

            }

    Tentei instanciar mais a label não é um atributo, automaticamente não consegui, alguém pode me ajudar ?

    Agradecido




    • Editado Sete7 quinta-feira, 10 de setembro de 2015 19:26
    • Editado Marcos SJ quinta-feira, 10 de setembro de 2015 20:09 Edição
    quinta-feira, 10 de setembro de 2015 19:23

Respostas

  • Cara, segue uma opção que talvez não seja a mais indicada, mas que funciona:

    1. No FrmPaiForm, crie uma propriedade public;

    public bool VisualizarLabel { set { this.Label.Visible = value; } }

    2. Deixe a chamada do FrmFilhoForm da mesma maneira, tornando o label invisível. No evento FormClosing do FrmFilhoForm, adicione o seguinte:

    private void formClosing(object sender, EventArgs e)
    {
       (this.MdiParent as FrmPaiForm).VisualizarLabel = true;
    }
    

    Bom trabalho!

    • Marcado como Resposta Marcos SJ quinta-feira, 10 de setembro de 2015 20:09
    quinta-feira, 10 de setembro de 2015 19:58

Todas as Respostas

  • Cara, segue uma opção que talvez não seja a mais indicada, mas que funciona:

    1. No FrmPaiForm, crie uma propriedade public;

    public bool VisualizarLabel { set { this.Label.Visible = value; } }

    2. Deixe a chamada do FrmFilhoForm da mesma maneira, tornando o label invisível. No evento FormClosing do FrmFilhoForm, adicione o seguinte:

    private void formClosing(object sender, EventArgs e)
    {
       (this.MdiParent as FrmPaiForm).VisualizarLabel = true;
    }
    

    Bom trabalho!

    • Marcado como Resposta Marcos SJ quinta-feira, 10 de setembro de 2015 20:09
    quinta-feira, 10 de setembro de 2015 19:58
  • Rodrigo, deu certo, era isso mesmo.

    Muito Obrigado pela ajuda.


    • Editado Sete7 quinta-feira, 10 de setembro de 2015 20:10
    quinta-feira, 10 de setembro de 2015 20:09