WPF 多线程---- 子线程操作界面主线程的元素
来源:互联网 发布:java编写宿舍管理系统 编辑:程序博客网 时间:2024/06/06 09:46
1 在代码中开启一个子线程
Thread cabService = new Thread(new ThreadStart(<strong>dataReceiver</strong>)); cabService.Start();每隔2s ,产生一个数据
public void dataReceiver() { while(true) { x = new Random((int)(System.DateTime.Now.Second)).Next(3, 50); Console.WriteLine("产生数据!"+x); if(monitor!=null) { <strong>monitor</strong>(x); } Thread.Sleep(2000); } }
2 定义代理和事件
public delegate void <strong>DataMonitor</strong>(int data);
public event <strong>DataMonitor</strong> monitor ;
3 在monitor 上面添加处理
monitor += new DataMonitor(cab.<strong>UpdateChart</strong>);
cab.updateChart 就是需要更新界面图标数据的代码
4 在Cab类当中顶一个这样一个函数,实现界面更新
public void UpdateChart(int x) { Action a = new Action(<strong>updateSerial</strong>); data = x; cab_chart.Dispatcher.BeginInvoke(a); }
public void <strong>updateSerial</strong>() { for (int i = _pointCount - 1; i > 0;i-- ) { dataSeries.DataPoints[i-1] = dataSeries.DataPoints[i]; } DataPoint datapoint = new DataPoint(); datapoint.AxisXLabel = (_pointCount - 1) + ""; datapoint.YValue = data; dataSeries.DataPoints.Add(datapoint); cab_chart.Series.Clear(); cab_chart.Series.Add(dataSeries); }
5 这和android的线程模型极为相似,子线程的数据都需要一个Handler 来执行界面更新 ,ok!
0 0
- WPF 多线程---- 子线程操作界面主线程的元素
- 多线程编程子线程访问主线程的界面
- WPF里面多线程访问UI线程、主线程的控件
- C++拾遗--多线程:主线程与子线程的同步
- java多线程--子线程的事务影响主线程吗
- 多线程之主线程与子线程
- 多线程NSThread+主线程子线程
- Python 多线程,主线程与子线程
- 主线程等待子线程操作完成
- 界面主线程,子线程更新主界面控件
- 超简单,三步就能在WPF里面多线程访问UI线程、主线程的控件
- 子线程,主线程
- 多线程显示进度条,子线程耗时10s,主线程在这10s中不停的刷新、显示,进度条界面。
- C#、Winform子线程更新界面主线程信息
- 多线程开发(1):主线程,前台线程,后台线程,守护线程,子线程,托管线程的关系
- interface 回调函数--实现子线程类对主线程类界面的控制
- winform主线程外面的子线程中实现控制界面
- 主线程与子线程的问题
- mac 终端 常用命令
- 如何在Mac上使用Swift调用C接口开发条形码应用
- 总结系列-LayoutInflater的inflate函数用法详解
- Java的注解机制——Spring自动装配的实现原理
- Android 单元测试(四)测试 Activity和Fragment
- WPF 多线程---- 子线程操作界面主线程的元素
- Ubuntu 一条命令安装LAMP
- 野人学Android基础篇之初探UI控件第二课--ImageView动态赋值
- 网易新闻iOS版使用的开源组件
- javascript表单验证之SQL注入验证
- Parcelable传递图片,复杂对象,对象列表
- Tigase开发笔记1:深入认识XMPP协议
- Swap in JAVA, 不是想象中的简单
- XCode 代码格式化插件