Usuário com melhor resposta
Como congelar Form e seus componentes

Pergunta
-
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- Marcado como Resposta Robson William SilvaModerator segunda-feira, 30 de janeiro de 2017 11:20
Todas as Respostas
-
Olá Gui_Souza
Você pode criar um outro FORM com uma barra de progresso!
Chama este form antes!
Se ajudei Vote como Útil, se resolvi seu problema clique em Marcar como Resposta.
Daniel Ribeiro Arrais
Consultor Sênior
Site: www.danielarrais.com.br
Linkedin: http://www.linkedin.com/in/danielarrais
E-mail: arraishapkido@gmail.com
Skype: dani.arrais
-
Olá Gui_Souza
Você pode criar um outro FORM com uma barra de progresso!
Chama este form antes!
Se ajudei Vote como Útil, se resolvi seu problema clique em Marcar como Resposta.
Daniel Ribeiro Arrais
Consultor Sênior
Site: www.danielarrais.com.br
Linkedin: http://www.linkedin.com/in/danielarrais
E-mail: arraishapkido@gmail.com
Skype: dani.arrais
Obrigado Daniel mas ainda não resolveria.
O ideal seria congelar a tela para que todos os campos fossem exibidos ao mesmo tempo ao descongelar.
-
Poderia colocar o código para melhor análise?
Se ajudei Vote como Útil, se resolvi seu problema clique em Marcar como Resposta.
Daniel Ribeiro Arrais
Consultor Sênior
Site: www.danielarrais.com.br
Linkedin: http://www.linkedin.com/in/danielarrais
E-mail: arraishapkido@gmail.com
Skype: dani.arrais
-
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- Marcado como Resposta Robson William SilvaModerator segunda-feira, 30 de janeiro de 2017 11:20
-
Você pode usar o método Sleep, para "parar" a Thread do programa por um tempo especifico, assim:
using System.Threading; private void CongelaForm(int milisegundos) { Thread.Sleep(milisegundos); }
Isso vai congelar o form todo, junto com seus controles.
-
Use o SuspendeLayout!
var Frm = new SeuForm(); Frm.SuspendLayout(); Frm.ShowDialog(); Frm.ResumeLayout();
Dessa forma os componente serão renderizados apos o carregamento completo!
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
Rafael Almeida
Senior Developer .NET C#
Enterprise Development Leader JAMSOFT Informática
Email: ralms@ralms.net
Blog - GitHub - LinkedIn