我正在尝试将后台工作程序实现到我的程序中,这样当我运行程序并开始检索我需要的数据时它就不会冻结。
我不太确定后台工作人员是如何工作的。
答案 0 :(得分:4)
后台工作程序是在后台运行并在不中断/阻止主线程的情况下工作的线程。
您可以阅读更多here。
简而言之:
在DoWork中执行阻止操作。只要您可以,使用(sender as BackgroundWorker).ReportProgress(50);
报告您使用该操作的距离,例如报告50%完成。
您可以让主线程订阅“ProgressChanged”事件,该事件可以更新GUI或执行进度发生变化时应执行的其他任务。