标签: .net vb.net multithreading
我有一个vb.net应用程序,它做了一些处理。此处理可能需要一段时间。在处理结束之前,应用程序不响应,然后处理用户在处理期间完成的所有事件(例如单击按钮)。我想添加一个“停止”按钮,以便用户可以在某个时刻停止处理。我怎样才能做到这一点?可以解决处理(在应用程序的功能中完成)是一种可能的解决方案吗?
我尝试添加一个更改布尔值的按钮,并根据该布尔值将处理函数的代码放在while语句中。但是它不起作用,因为按钮上的单击事件仅在处理结束后处理。
答案 0 :(得分:3)
使用BackgroundWorker组件进行处理。这将允许您的程序在处理继续运行时继续响应事件。如果您还想提供一个“停止”按钮,工作人员也允许您实现它。