您的位置:首页 > 其它

Silverlight多线程技术Timer的应用,模拟心电图、模拟CPU、内存状态图

2013-01-24 17:28 453 查看
在实际应用中,我们可能会遇到需要实时的显示某一些数据的情况,比如心电图、CPU当前使用率或者内存使用率等等。在Silverlight有一个Timer组件可以轻松的做到这一点,该组件可以每隔一段时间就调用一次需要处理的函数,在此这个函数中通过WebService,WCF等获取到相应的值,然后更新UI上的图表控件,以达到实时更新数据的作用。 现在我们来看看Timer组件的使用思路:

首先将现有的UI线程赋值出来,并且初始化Timer组件Timer timer=Timer(TimerCallback, Object, Int32, Int32) 这里有4个参数。

●第一个参数是需要处理的函数的委托

●第二个参数是需要带入处理函数的参数对象

●第三个参数是从创建Timer对象到Timer对象执行委托函数的时间间隔

●第四个参数是每隔多少毫秒执行一次委托函数

然后再委托函数中我们获取到当前的需要显示的数据值,调用UI线程显示到图表中(在本实例中我们使用Random.Next(100)的随机数来模拟数据源)。在数据显示过程中我们可以通过调用timer.Change(int32,int32)来重置Timer启动时间和处理委托函数的间隔时间,也可以通过调用timer.Disponse()方法来释放Timer组件对象。 本实例中为了让节面显得更加的美观大方,我们初始化了30个值50的点,然后在每调用Timer委托的函数中每在最后添加一个点,就将最前面的点减去。下面我们看项目的实例源码(注:本实例基于Visifire图表开发,且源码基于Silverlight实用窍门序列:14.Visifire图表控件的使用一(图表的创建和基础使用)的基础上制作,如有疑问请看第十四节)

双击代码全选

本实例只模拟了59个点,如有需要稍微修改一下逻辑即可。VS2010+Silverlight 4.0的开发环境,如需源码请点击 SLTimerForCPU.zip 下载。下面请看效果图如下:




【第三秒的图片】





【第九秒的图片】





【第十九秒的图片】





【第二十五秒的图片】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: