我在密集操作期间弹出多个表单。例如,当表单弹出询问用户的某些内容,并且用户单击“确定”时,表单的图形将保留在主屏幕上,即使它已关闭。我怎样才能使这些图形完全消失?
答案 0 :(得分:4)
我建议在后台执行繁重的工作(例如使用BackgroundWorker
),这样就不会阻止GUI线程。这样,表单将能够在工作进行时执行屏幕更新。
答案 1 :(得分:4)
听起来好像你正在对主线程进行密集处理,主线程是处理绘制窗口等事件的线程。相反,您应该生成一个单独的线程来执行计算/任务,以便您的主线程可以继续。
或者,您可以在进行处理时定期调用DoEvents()以允许表单刷新,但在我看来,使用DoEvents是一种麻烦。
答案 2 :(得分:1)
您可以在主屏幕窗体上调用Refresh()方法,这将强制进行图形重绘。