2012-12-10 40 views
7

或者問題的另一個方面是:我應該在處理編碼後臺工作人員時關閉表單的可能性嗎?關閉表單時仍然在運行的後臺工作人員會發生什麼情況?

例如,我有一個代碼在後臺工作人員執行SQL查詢(不可取消),然後在日曆控件中完成「加粗」日期以匹配查詢返回的日期。

我很好奇背景工人在這種情況下的設計目的是什麼? - 不會觸發RunWorkerComplete事件? - 在RunWorkerComplete函數調用中忽略對話框的調用,因爲它不再是一個窗口?

回答

7

如果您正在關閉的窗體是主窗體(換句話說是唯一的窗體),那麼後臺工作線程會在應用程序關閉時自動關閉。

如果它不是主窗體,那麼後臺線程將繼續運行。在這種情況下,您應該手動中止後臺線程並關閉表單

相關問題