关闭表单时仍在运行的后台工作程序会发生什么?

时间:2012-12-10 10:15:31

标签: c# winforms backgroundworker

问题的另一个方面是:我是否应该在编写后台工作人员时处理表单被关闭的可能性?

例如,我在后台工作程序中执行SQL查询(不可取消)的代码,然后在日历控件中完成“加粗”日期以匹配查询返回的日期时。

我很好奇后台工作者在这种情况下的目的是什么?   - 不要发起RunWorkerComplete事件?   - 忽略RunWorkerComplete函数调用中对话框的调用,因为它不再是一个窗口了吗?

1 个答案:

答案 0 :(得分:7)

如果您要关闭的表单是主表单(换句话说唯一的表单),则后台工作线程将在关闭应用程序时自动关闭。

如果它不是主窗体,那么后台线程将继续运行。在这种情况下,您应该通过关闭表单手动中止后台线程