none
Como congelar Form e seus componentes RRS feed

  • Pergunta

  • Estou rodando uma aplicação que demora alguns minutos até ser concluída.

    Gostaria de congelar o form e seus componentes para que as informações não fossem aparecendo aos poucos.

    Agradeço desde já pela atenção.

    sexta-feira, 27 de janeiro de 2017 13:49

Respostas

  • Olá,

    A aplicação é Windows Forms?

    Se for, você pode habilitar, desabilitar todos os controles do form com esse método:

    private void EnableControls(Control.ControlCollection Controls, bool enable)
    {
        foreach (Control c in Controls)
        {
            c.Enabled = enable;
            if (c is MenuStrip)
            {
               foreach(var item in ((MenuStrip)c).Items)
               { 
                  item.Enabled = enable;
               }
            }
            if (c.ControlCollection.Count > 0)
                enableControls(c.Controls);
    
        }
    }

    E pode fazer a chamada assim:

    EnableControls(this.Controls, true); //Habilitar
    EnableControls(this.Controls, false); //Desabilitar

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    sexta-feira, 27 de janeiro de 2017 15:51

Todas as Respostas