zoukankan      html  css  js  c++  java
  • C# WPF定时器

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

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

       最近在做一个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();
    然后写回调函数如下:
    /// <summary>
            /// 定时器回调函数
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void dispatcherTimer_Tick(object sender, EventArgs e)
            {
               DoSearch();//执行查询
             }

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

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

     @陈卧龙的博客

  • 相关阅读:
    Activiti Model Editor组件
    Activiti 5.17 实体对象与类和数据库表的映射
    工作流入门链接
    揭秘jbpm流程引擎内核设计思想及构架
    比较Activiti中三种不同的表单及其应用
    Activiti源码分析
    Spring Security教程(5)---- 国际化配置及UserCache
    spring DelegatingFilterProxy管理过滤器
    Apache 处理svg工具包Apache(tm) Batik SVG Toolkit
    Binary Tree Right Side View
  • 原文地址:https://www.cnblogs.com/chenwolong/p/DispatcherTimer.html
Copyright © 2011-2022 走看看