我有一个程序可以打开多个表单,当有很多表单时,它们会在打开时级联。
按下按钮时,会运行一些代码并关闭表单
this.Visible = false; Kill.Zombies(); this.Close();
My Kill.Zombies();方法需要几秒钟才能运行,因此我在运行之前使表单不可见。我遇到的问题是,即使它不可见,它背后的形式也不会刷新,就好像看不见的形状仍然是可见的。
我尝试移动表单然后使其不可见,并且它仍然存在显示在其背后的表单之上的问题。
如果你能就如何解决这个问题给我一些建议,我会很感激。
答案 0 :(得分:5)
在此之后调用Application.DoEvents().Visible = false; ?
执行此操作的正确方法是多线程,但调用DoEvents()可能会修复它。
答案 1 :(得分:2)
this.Visible = false;
MethodInvoker mk = delegate {
Kill.Zombies(); this.Close();
};
mk.BeginInvoke(null,null);
使用上面的代码。