博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# WPF定时器
阅读量:5887 次
发布时间:2019-06-19

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

   最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。我们都知道计算机技术发展日新月异,速度惊人的快,你我稍不留神,就会被慢慢淘汰!因此:每日不间断的学习是避免被淘汰的不二法宝。

   当然,题外话说多了,咱进入正题!

   最近在做一个WPF项目,我做的模块主要是负责查询。其中一个模块叫做CALLBACKLIST,中文译为联系记录,既然叫联系记录,就少不了打电话,而打电话是手机端的事情。手机端的开发就交给IOS和安卓开发人员,当然,他们所需的服务肯定由我写啦!这个模块的主要业务逻辑是这样的,如下:

   管理员查询联系记录->选择用户并将用户信息插入到临时表S->手机端(IOS,安卓)定时抓取临时表S中的数据(主要是顾客姓名,手机号)->手机端拨打用户电话->手机端将拨打的结果以JSON格式反馈给服务端->服务端处理反馈的数据->服务端定时刷新并显示联系结果。

   根据以上需求,服务端需要写查询Search功能、插入临时表Add To S功能、为手机端提供一个抓取临时数据的服务GetList功能、获取手机端反馈结果并处理SetCallBackList功能、及WPF页面定时刷新。

   至于以上的需求及处理方式本博客只讲解定时器的开发,如下:

   首先,微软为WPF定制了一个专门的定时器DispatcherTimer,这句话很重要,省的瞎用!

   其次,我们需要引入命名空间->using System.Windows.Threading;

   创建定时器对象->DispatcherTimer dispatcherTimer = new DispatcherTimer();

   最后设置定时器:

//定时查询-定时器            dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);            dispatcherTimer.Interval = new TimeSpan(0, 0, 60);            dispatcherTimer.Start();

 

   在上述代码中,我们EventHandler这个东东叫做定时器回调函数,根据上述的需求,我们要定时刷新联系记录结果,说白了就是定时查询,也就是再执行一次查询方法而已。

dispatcherTimer.Interval = new TimeSpan(0, 0, 60);->设置定时器的时间间隔。 最后启动定时器->dispatcherTimer.Start(); 然后写回调函数如下:
///         /// 定时器回调函数        ///         ///         ///         private void dispatcherTimer_Tick(object sender, EventArgs e)        {
DoSearch();//执行查询
}

    至此:WPF定时器就完成了!

    2016-10-25  补充说明:定时器Start()以后,也就是启动以后,要记得及时关上!否则会一直执行下去的!

@陈卧龙的博客

 

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

你可能感兴趣的文章
论JVM爆炸的几种姿势及自救方法---转载
查看>>
keystone 手动建立租户,用户,角色,服务,端口
查看>>
排序之快速排序
查看>>
Win32编程day07 学习笔记
查看>>
PYTHON2.day09
查看>>
PYTHON2.day05
查看>>
ocp题库更新,052最新考试题及答案整理-31
查看>>
Git-常用命令集合
查看>>
最近学习到的一些
查看>>
Windows环境下免安装版MySQL 5.6.11安装配置详解
查看>>
leetcode记录-反转整数
查看>>
matlab-画个拱桥和倒影?
查看>>
8.5 exit函数-进程控制
查看>>
安装SeleniumIDE(基于Ubuntu Desktop 12.04 LTS)
查看>>
效率和协作工具--OneNote
查看>>
在Ubuntu 14.04 64bit上安装numpy和matplotlib库
查看>>
JSK-61 二进制加法【大数】
查看>>
HDU1877 又一版 A+B
查看>>
@ 添加属性(属性注入)
查看>>
往sde中导入要素类报错000732
查看>>