博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF 异步执行
阅读量:7115 次
发布时间:2019-06-28

本文共 1642 字,大约阅读时间需要 5 分钟。

 

private void Operate_OnClick(object sender, RoutedEventArgs e){    AsyncFindBox();     RadWindow.Alert("测试测试!");}private void AsyncFindBox(){    #region 需要将返回结果返回到UI上。     //异步任务封装在一个delegate中, 此delegate将运行在后台线程    Func
asyncAction = this.AsyncActionMethod; //在UI线程中得到异步任务的返回值,并更新UI //必须在UI线程中执行 Action
resultHandler = delegate(IAsyncResult asyncResult) { //异步执行后,将值更新到UI上。 //string result= asyncAction.EndInvoke(asyncResult); //SearchValue.Text=result; }; //异步任务执行完毕后的callback, 此callback运行在后台线程上. //此callback会异步调用resultHandler来处理异步任务的返回值. AsyncCallback asyncActionCallback = delegate(IAsyncResult asyncResult) { Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, resultHandler, asyncResult); }; //在UI线程中开始异步任务, //asyncAction(后台线程), asyncActionCallback(后台线程)和resultHandler(UI线程) //将被依次执行 asyncAction.BeginInvoke(asyncActionCallback, null); #endregion #region 不需要将返回结果返回到UI上的。 //Func
asyncAction = this.AsyncActionMethod; //asyncAction.BeginInvoke(null, null); //Action asyncAction = this.FindBox; //方法无返回值 //asyncAction.BeginInvoke(null, null); #endregion}private string AsyncActionMethod(){ var commandMessage = ""; Thread.Sleep(5000); Console.WriteLine(1111); // 发射亮灯 BasketLight.SendCmd(5, BasketLight.CmdType.Ready, 0, ref commandMessage); return "";}private void FindBox(){ var commandMessage = ""; Thread.Sleep(5000); Console.WriteLine(1111); // 发射亮灯 BasketLight.SendCmd(5, BasketLight.CmdType.Ready, 0, ref commandMessage); }

 

转载地址:http://jzwel.baihongyu.com/

你可能感兴趣的文章
华为拓扑---***的配置
查看>>
网站中增加微信公众账号链接的方法
查看>>
Java之品优购课程讲义_day19(3)
查看>>
MySQL服务器主从复制服务详解
查看>>
Grafana的使用感受
查看>>
finecms V5 会员头像任意文件上传漏洞 附修复代码
查看>>
购买SSL证书必须考虑的五大因素
查看>>
OpenStack简单测试性能监控数据记录
查看>>
扒一扒最近爆火的SDT-LUCK CLUB究竟是什么鬼?
查看>>
UniDAC使用教程(九):提高性能
查看>>
按照拓扑图使不同VLAN的7台PC互通
查看>>
多区域ospf在帧中继环境下实现互通-配置命令(请各位多指教)
查看>>
二次战CPP链表
查看>>
选择手持终端的标准有哪些
查看>>
常见的销售方式有哪些
查看>>
Linux中find常见用法示例
查看>>
Oracle 【直接加载】全方位解析与性能优化
查看>>
C#综合揭秘——细说事务(上)
查看>>
ping: unknown host和活跃连接路径:/org/freedesktop/NetworkManager/ActiveConnection
查看>>
我的友情链接
查看>>