BackgroundWorkerHelper
public static class BackgroundWorkerHelper
{
public static void Run(DoWorkEventHandler doWork,
RunWorkerCompletedEventHandler completed = null,
ProgressChangedEventHandler progressChanged = null)
{
using (var backgroundWorker = new BackgroundWorker())
{
backgroundWorker.DoWork += doWork;
if (completed != null)
backgroundWorker.RunWorkerCompleted += completed;
if (progressChanged != null)
{
backgroundWorker.WorkerReportsProgress = true;
backgroundWorker.ProgressChanged += progressChanged;
}
backgroundWorker.RunWorkerAsync();
}
}
} public static class BackgroundWorkerHelperOrgainal
{
public static BackgroundWorker backgroundWorker { get; set; }
public static void Run(DoWorkEventHandler doWork,
RunWorkerCompletedEventHandler completed = null,
ProgressChangedEventHandler progressChanged = null)
{
backgroundWorker = new BackgroundWorker();
backgroundWorker.WorkerReportsProgress = true;
backgroundWorker.WorkerSupportsCancellation = true;
backgroundWorker.DoWork += doWork;
if (completed != null)
backgroundWorker.RunWorkerCompleted += completed;
if (progressChanged != null)
{
backgroundWorker.WorkerReportsProgress = true;
backgroundWorker.ProgressChanged += progressChanged;
}
if (!backgroundWorker.IsBusy)
backgroundWorker.RunWorkerAsync(); }
}
private void doTime()
{
try
{
int mm = int.Parse(this.textBox1.Text.Trim()); BackgroundWorkerHelper.Run((s, e) =>
{
while ( == )
{
try
{ }
catch (Exception ex)
{ }
} },
(s, e) =>
{ }); }
catch (Exception ex)
{
;
}
finally
{ }
}
BackgroundWorkerHelper.Run(
(s, e) =>
{
ReturnData rd = new ReturnData();//接收的
try
{
try
{
rd = PlugRemote.GetInstance().GetAllCusmail(sd);
}
catch (Exception ex)
{
rd.state = false;
rd.Info = ex.Message;
}
e.Result = rd;
}
catch (Exception ex)
{
rd.state = false;
rd.Info = ex.Message;
e.Result = rd;
}
},
(s, e) =>
{
ReturnData rd = (ReturnData)e.Result;
if (!rd.state)
{
this.ShowMessage(rd.Info, );
return;
}
pagerControl1.DrawControl(rd.Count);//更新分页控件显示。
ReturnData<List<tms_cusmail>> rdt = new ReturnData<List<tms_cusmail>>(rd);
this.gridControl1.DataSource = rdt.t; });
BackgroundWorkerHelperOrgainal.Run((s, e) =>
{
BackgroundWorker bg = (BackgroundWorker)s;
foreach (var item in listvgs_real)
{
bg.ReportProgress(, item);
Thread.Sleep();
} },
(s, e) =>
{
isok = true;
},
(s, e) =>
{
if (e.ProgressPercentage == )
{
if (e.UserState != null)
{
var item = (vgs_real)e.UserState;
PointLatLng pl = new PointLatLng(item.OffsetLat, item.OffsetLng);
GMapMarkerDirection markerlast = new GMapMarkerDirection(new PointLatLng(item.OffsetLat, item.OffsetLng), Properties.Resources.carsmall, (float)item.Angle, , );
markerlast.IsHitTestVisible = true;
markerlast.ToolTipMode = MarkerTooltipMode.Always;
markerlast.ToolTipText = string.Format("车速:{0}\r\n地点{1}", item.VDRspeed, item.Address);
routesOverlay.Markers.Clear();
routesOverlay.Markers.Add(markerlast); gmap.Position = pl; } }
});
BackgroundWorkerHelper的更多相关文章
随机推荐
- H3C 802.11 MAC层工作原理
- OpenStack核心组件-glance镜像服务
1. glance介绍 Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查询虚拟机镜像的metadata ...
- 一加5安卓P刷入twrp的recovery
本文介绍的方法属于普适性的一般方法,比网上的各种工具箱会繁琐.但是工具箱不一定一直会更新(之前一加论坛的刷机工具箱已经停止更新了,估计是作者不用一加5了吧,毕竟已经好几年的手机了).并且如果你手机更新 ...
- web scraper——爬取知乎|微博用户数据模板【三】
前言 在这里呢,我就只给模板,不写具体的教程啦,具体的可以参考我之前写的博文. https://www.cnblogs.com/wangyang0210/p/10338574.html 模板 进入微博 ...
- 题解 UVa11609
题目大意 给定一个正整数 \(n\),请求出所有小于 \(n\) 人的团队如果选出一个人作为队长的不同的方案数(假定这些人两两不相同)对 \(10^9+7\)取模的结果. 分析 即求 \[\sum^n ...
- Scanner的常用用法
通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner. s.useDelimiter(" |,|\ ...
- JSON和计算机网络的个人总结
JSON JSON是什么? JSON:JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于ECMAScript (欧洲计算机协会制定的js规范) ...
- LeetCode 801. Minimum Swaps To Make Sequences Increasing
原题链接在这里:https://leetcode.com/problems/minimum-swaps-to-make-sequences-increasing/ 题目: We have two in ...
- BZOJ 3672: [Noi2014]购票 树上CDQ分治
做这道题真的是涨姿势了,一般的CDQ分治都是在序列上进行的,这次是把CDQ分治放树上跑了~ 考虑一半的 CDQ 分治怎么进行: 递归处理左区间,处理左区间对右区间的影响,然后再递归处理右区间. 所以, ...
- windows 获取时间戳
Windows 批处理时间戳 1.时间戳格式: 取年份: echo %date:~,% 取月份: echo %date:~,% 取日期: echo %date:~,% 取星期: echo %date: ...