如何刷新屏幕,使封闭的表格实际上消失

时间:2010-06-16 13:33:07

标签: c# winforms graphics

我在密集操作期间弹出多个表单。例如,当表单弹出询问用户的某些内容,并且用户单击“确定”时,表单的图形将保留在主屏幕上,即使它已关闭。我怎样才能使这些图形完全消失?

3 个答案:

答案 0 :(得分:4)

我建议在后台执行繁重的工作(例如使用BackgroundWorker),这样就不会阻止GUI线程。这样,表单将能够在工作进行时执行屏幕更新。

答案 1 :(得分:4)

听起来好像你正在对主线程进行密集处理,主线程是处理绘制窗口等事件的线程。相反,您应该生成一个单独的线程来执行计算/任务,以便您的主线程可以继续。

或者,您可以在进行处理时定期调用DoEvents()以允许表单刷新,但在我看来,使用DoEvents是一种麻烦。

答案 2 :(得分:1)

您可以在主屏幕窗体上调用Refresh()方法,这将强制进行图形重绘。