Обновление WinForm - PullRequest
       2

Обновление WinForm

1 голос
/ 30 июня 2010

У меня есть программа, которая может открывать несколько форм, и когда их много, они каскадно открываются.

При нажатии кнопки запускается какой-то код и форма закрывается

this.Visible = false; Kill.Zombies (); this.Close ();

My Kill.Zombies (); метод запускается несколько секунд, поэтому я делаю форму невидимой перед запуском. У меня проблема в том, что даже когда он невидим, формы за ним не обновляются, и создается впечатление, что форма, которая должна быть невидимой, все еще видна.

Я пытаюсь переместить форму, прежде чем сделать ее невидимой, и она по-прежнему имеет проблему с отображением поверх форм позади нее.

Если бы вы могли дать мне несколько советов, как это исправить, я был бы признателен.

Ответы [ 2 ]

5 голосов
/ 30 июня 2010

Вы вызываете Application.DoEvents () после этого. Visible = false;

Правильный способ сделать это будет многопоточным, но вызов DoEvents () может исправить это.

2 голосов
/ 30 июня 2010
this.Visible = false; 
MethodInvoker mk = delegate {
Kill.Zombies(); this.Close();
};
mk.BeginInvoke(null,null);

используйте вышеуказанный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...