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

标签 c# winforms backgroundworker

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

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

我很好奇后台 worker 在这种情况下的设计目的是什么? - 不触发 RunWorkerComplete 事件? - 在 RunWorkerComplete 函数调用中忽略对对话框的调用,因为它不再是窗口了吗?

最佳答案

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

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

关于c# - 关闭表单时仍在运行的后台工作程序会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13798880/

相关文章:

c# - .NET XmlSerializer 和多维数组

c# - 有没有办法将属性映射到 Dapper 中的自定义类型?

c# - 在 if 语句中使用 GetForegroundWindow 结果来检查用户的当前窗口

c# - 如何隐藏 DataGridView 的网格线?窗体 C#

c# - 更新后台 worker winforms中的标签文本

c# - Xamarin 中的 BackgroundWorker 与 Android 服务

c# - 如何在转换后的字符串中将字符串生成器转换为没有转义序列的字符串

c# - 使用 ROW_NUMBER() 和 PARTITION BY 的复杂 LINQ 查询的解决方案

winforms - 是否可以在不使用 ImageList 的情况下将图像添加到 TreeView 节点?

C# - backgroundworker 等待创建文件