none
Verificar se formulário está aberto

    Pergunta

  • Olá,

    Tentei várias formas para verificar se um formulário está aberto e não abrí-lo novamente.

    Seria assim:
    Tenho uma função num formulário principal (frmMain) que abre outro formulário (frmInicial). Queria que se o formulário estiver aberto (sendo usado) que a função ignorasse o comando de abrir.
    O que já tentei...

    frmInicial ini = new frmInicial();
    if(!ini.Visible)
    ini.Show();

    frmInicial ini = new frmInicial();
    if(!ini.Enable)
    ini.Show();


    Mas nada funciona. Sempre abre.

    Se alguém souber de alguma dica...

    Obrigado.
    Márcio.
    terça-feira, 19 de agosto de 2008 14:32

Respostas

  • Olá Márcio,

     

    Como você tem um form que controla a aplicação para solucionar o seu problema você pode declarar os outros forms como atributo da classe do frmMain e depois verifica antes de abrir se o ele é null.

     

     

    Code Snippet

    frmInicial ini = null;

     

    public void AbreForns(){

    if(ini == null){

    ini = new frmInicial();
    ini.Show();

    }

    }

     

     

    Se a resposta for útil por favor não esqueça de marca.
    Abraço,

    terça-feira, 19 de agosto de 2008 15:37

Todas as Respostas

  • Olá Márcio,

     

    Como você tem um form que controla a aplicação para solucionar o seu problema você pode declarar os outros forms como atributo da classe do frmMain e depois verifica antes de abrir se o ele é null.

     

     

    Code Snippet

    frmInicial ini = null;

     

    public void AbreForns(){

    if(ini == null){

    ini = new frmInicial();
    ini.Show();

    }

    }

     

     

    Se a resposta for útil por favor não esqueça de marca.
    Abraço,

    terça-feira, 19 de agosto de 2008 15:37
  • Boa Daniel.

    Funcionou perfeitamente.

    Obrigado.
    terça-feira, 19 de agosto de 2008 17:31