wince6.0下,.net不支持异步委托,用什么办法可以实现以下功能?

ysjydss 2013-09-11 01:34:11
在wince6.0下,主界面有网络信号强度、电池电量等信息,需要每过一段时间刷新,开始我用form.timer来实现,问题是:在执行timer里的方法时,会造成ui界面假死,必须等timer里的事件执行完毕,ui才恢复。为了解决这个问题,百度资料,用System.Timers.Timer来开新线程,用异步委托来修改主界面的控件信息。问题是:wince6.0下的.net,根本不支持异步委托。。。。
请教大神们:还有什么办法,在主界面更新信号强度、电池电量等信息时,ui界面不假死???
...全文
158 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ysjydss 2013-09-18
  • 打赏
  • 举报
回复
自己继续顶一下
ysjydss 2013-09-12
  • 打赏
  • 举报
回复
自己在顶一下
ysjydss 2013-09-11
  • 打赏
  • 举报
回复
private delegate void DelegateFunction(); private void Form3_Load(object sender, EventArgs e) { Thread thread = new Thread(CrossThreadFlush); thread.IsBackground = true; thread.Start();  } private void CrossThreadFlush() { DelegateFunction df = new DelegateFunction(get_netxx); df.BeginInvoke(null, null); }   private void get_netxx() { int dwNetwork = 2; string AccessPoint = null; if (pda_gprs.gprs_open(dwNetwork, AccessPoint) == true) { if (pda_gprs.gprs_getSimStatus(dwNetwork) == true) { if (pda_gprs.gprs_getServiceStatus(dwNetwork) == 2) { xinhao = pda_gprs.gprs_getSignalStrength(); statusBar1.Text = "信号强度" + xinhao.ToString() + "%" + ";网络已断开"; } else { statusBar1.Text = "服务受限"; } } else { statusBar1.Text = "无sim卡"; } } else { statusBar1.Text = "打开EVDO模块失败!"; } } 这是我测试代码,
  • 打赏
  • 举报
回复
你怎么写的?
ysjydss 2013-09-11
  • 打赏
  • 举报
回复
在顶一下,大神们,快来啊
ysjydss 2013-09-11
  • 打赏
  • 举报
回复

这是出错提示
ysjydss 2013-09-11
  • 打赏
  • 举报
回复
不能啊,一运行软件,就出错,提示不支持异步委托。 能给段代码,参考参考吗?
  • 打赏
  • 举报
回复
支持的啊,Wince的信号强度和电池电量我之前也是用异步委托去做的,完全没问题啊

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧