none
MDIPARENT - C# - Visual Studio 2010 RRS feed

  • Pergunta

  • Boa tarde

    Como faço, para quando, ao abrir um outro form, automaticamente fechar o anterior
    e, também, quando estiver com um form aberto, não deixar que o mesmo form seja aberto novamente

    Grato pela atenção

    Dilson

    sexta-feira, 7 de dezembro de 2012 17:03

Todas as Respostas

  • No evento que chama cada form, chame conforme exemplo abaixe, mudando 'Form2' para o nome do form desejado.

                bool open = false;
                foreach (Form frm in this.MdiChildren)//percorre todos form filhos abertos 
                {
                    if (frm is Form2)  //esta linha verifica se o Form2 está aberto 
                    {
                        open = true; //esta linha define que já está aberto o Form2  
                    }
                    else //se o form não for Form2
                    {
                        frm.Close(); //esta linha fecha qualquer outro form que já esteja aberto 
                    }
                }
                if (!open)// se Form2 não estiver aberto
                {
                    Form frm = new Form2();
                    frm.MdiParent = this;
                    frm.Show();
                    frm.WindowState = FormWindowState.Maximized;//esta linha se quiser exibir maximizado. 
                }
    Acho que com os comentários fica fácil entender.
    • Sugerido como Resposta ptcmariano segunda-feira, 10 de dezembro de 2012 14:48
    sábado, 8 de dezembro de 2012 23:14