.net 长时间同步操作期间刷新表单
我正在VB.NET应用程序中运行几个长同步操作,每个操作可能需要几分钟才能完成。在这些操作过程中,表单将变为白色,标题栏将显示“未响应”,一些用户可能会关闭应用程序,认为它已停止工作,而实际上它仍在运行.net 长时间同步操作期间刷新表单,.net,vb.net,.net,Vb.net,我正在VB.NET应用程序中运行几个长同步操作,每个操作可能需要几分钟才能完成。在这些操作过程中,表单将变为白色,标题栏将显示“未响应”,一些用户可能会关闭应用程序,认为它已停止工作,而实际上它仍在运行 我很确定我需要多线程来完成这项工作,但我最初的努力没有成功。运行这些长操作时,每隔几秒钟左右刷新一次表单的最简单方法是什么?请查看。您可以使用应用程序。DoEvents也可以查看 这篇文章会很有用: 有一个BackgroundWorker类的很好的演示。基本上,您需要在后台执行任务,并定期让它通
我很确定我需要多线程来完成这项工作,但我最初的努力没有成功。运行这些长操作时,每隔几秒钟左右刷新一次表单的最简单方法是什么?请查看。您可以使用应用程序。DoEvents也可以查看 这篇文章会很有用:
有一个BackgroundWorker类的很好的演示。基本上,您需要在后台执行任务,并定期让它通过引发主线程捕获的事件来更新主线程的状态。BackgroundWorker类具有在大多数情况下实现此功能所需的所有功能。在后台运行任务将保持应用程序的响应速度。这可能会导致其他问题,如重新进入问题。如果您能举一个例子说明如何使用此方法解决OPs问题,我会投赞成票。事实上,答案只起到了些许帮助。@Nifle——因此,请在此处引用示例代码以改进答案,或者,在本例中,由于示例代码很长,请描述如何使用该类来解决问题。我想在这里看到一个更完整的答案,因为如果链接中断,这个答案将变得毫无用处。在回答问题时,您需要尝试并记住,最终答案需要独立存在,而不管它链接到什么资源。这就是我的问题。一些microsoft示例似乎过于复杂,更令人困惑,因此很有帮助。我已经看过这些例子,但觉得有些难以理解。我在寻找更简单一点的东西。@Matt-我发现相反的情况更糟:无用的琐碎例子。