在长时间同步操作期间刷新表单

时间:2009-11-13 14:43:20

标签: .net vb.net

我在VB.NET应用程序中运行了几个长时间的同步操作,每个操作可能需要几分钟才能完成。在这些操作过程中,表单将变为白色,标题栏将显示“无响应”,并且某些用户可能会关闭应用程序,认为它已停止工作,而实际上它仍在运行。

我很确定我需要多线程才能做到这一点,但我最初的努力都没有成功。这些长时间的操作正在运行时,每隔几秒左右刷新一次表单最简单的方法是什么?

4 个答案:

答案 0 :(得分:7)

答案 1 :(得分:1)

您可以使用Application.DoEvents

答案 2 :(得分:1)

有一个很好的BackgroundWorker类here演示。基本上,您需要在后台执行任务,并定期通过引发主线程捕获的事件来更新主线程的状态。在大多数情况下,BackgroundWorker类具有您需要的所有功能。在后台运行任务将使您的应用程序保持响应。

答案 3 :(得分:0)