Verificar se um form já esta aberto em C#

12/05/2010

0

Bom dia!

Estou criando uma aplição em C# utilizando o VS 2008.
Criei uma tela de menu que chama um cadastro de cliente. Quando clico no meu cliente gostaria de saber como faço para verificar se o cadastro de cliente esta aberto e se tiver, apenas vizualiso o cadastro novamente e não crio outro.
Geraldo Junio

Geraldo Junio

Responder

Post mais votado

12/05/2010

Opa!
Estou te passando um método legal para abrir forms com esse comportamento que  você quer.


public static void OpenForm(Type frmType)
        {
            bool bolCtl = false;
            foreach (Form form in Application.OpenForms)
            {
                if (form.GetType().Equals(frmType))
                {
                    form.Show();
                    bolCtl = true;
                    break;
                }
            }

            if (!bolCtl)
            {
                Form frm = (Form)Activator.CreateInstance(frmType);
                frm.Show();
            }
        }

Ai basta passa o tipo do form que você quer abrir , exemplo:

CUtil.OpenForm(typeof(frmCadAluno));

[]s

Marcelo Mendes

Marcelo Mendes
Responder

Mais Posts

13/05/2010

Geraldo Junio

Marcelo, muito obrigado pela dica, poré, como faço para mostra o form novamente se ele ja estiver aberto?  
Responder

13/05/2010

Marcelo Mendes

Cara este código acima já faz isso, se o form já estiver aberto ele apenas da um Show() nele.
Caso contrário ele cria uma nova instancia desse form, e dá um Show() posteriormente.

[]s
Responder

13/05/2010

Marcelo Mendes

Complementando, este método já funciona quando você já está utilizando Forms com MdiParent e MdiChildrens.

[]s
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar