当后台任务进行时,需要在主程序给个延迟以保证后台在刷新进度显示时有足够时间显示出来
所以要在主进程里走进度,而不是BackgroundWorker的通知
举例如下:
1. 声明一个后台任务
readonly BackgroundWorker bgWorker;
2. 设置任务
/* ---------- 设置线程任务 ---------- */
bgWorker = new BackgroundWorker
{
// 开启进度报告
WorkerReportsProgress = true,
// 开启异步取消
WorkerSupportsCancellation = true
};
bgWorker.DoWork += BgWorker_Start;
bgWorker.ProgressChanged += BgWorker_Progress;
bgWorker.RunWorkerCompleted += BgWorker_Completed;
3. 实现线程任务和线程方法
#region 线程方法
/// <summary>
/// 启动线程
/// </summary>
/// <param name="start"></param>
/// <param name="completed"></param>
/// <param name="progress"></param>
/// <param name="cancel"></param>
public void