WPF 耗时操作时,加载loging 动画 (BackgroundWorker 使用方法)

1.定义一个全局 BackgroundWorker

private System.ComponentModel.BackgroundWorker bgMeet0; 

2.设置执行耗时的任务为True

bgMeet0 = new System.ComponentModel.BackgroundWorker();
bgMeet0.WorkerReportsProgress = true;

3.开始执行任务事件

 bgMeet0.DoWork += new DoWorkEventHandler((s, es) =>
 {
    this.Dispatcher.Invoke(new Action(() =>
    {
       //启动动画
    }));
    #region 耗时操作
       //查询SQL 等耗时操作
    #endregion
});

4.任务结束事件

bgMeet0.RunWorkerCompleted += new RunWorkerCompletedEventHandler((s, es) =>
{
   this.Dispatcher.Invoke(new Action(() =>
   {
      //结束动画
   }));
   #region 执行完毕
      //将查询的 datatable 赋值到datagrid 等操作
   #endregion
});
bgMeet0.RunWorkerAsync();

猜你喜欢

转载自www.cnblogs.com/SeNaiTes/p/10584281.html
今日推荐