我已经看到很多关于在 Windows 窗体应用程序中处理 BackgroundWorker 的问题,并且似乎共识是在大多数情况下不需要手动处理它们。但是,我有一个关于如何处理 BackgroundWorker 实际运行时正在处置的 UserComponent 的问题。(IsBusy
返回 true)是否应该以任何特定方式处理这种情况?
例如,我有一个用户控件(类似面板的对象),用户可以输入设置信息。它包含一个保存用户配置的 BackgroundWorker。当面板失去焦点(离开事件)时,如果它尚未运行,它会启动 BackgroundWorker,以便在检测到更改时将配置保存到文件。由于离开事件也可能是用户切换到另一个屏幕,因此现在将释放此面板。如果 BackgroundWorker 仍在运行,我是否需要在 UserComponent 本身的 Dispose 方法中处理这个问题?