c#中有四种定时器
1:System.Threading.Timer
使用:
private System.Threading.Timer timerClose;
timerClose = new System.Threading.Timer(new TimerCallback(timerCall), this, 5000, 0);
 
private void timerCall(object obj)
{
timerClose.Dispose();
this.Close();
}
2:System.Timers.Timer
使用:
System.Timers.Timer t =  new System.Timers.Timer(10000);  
 
//实例化Timer类,设置间隔时间为10000毫秒;   
 
t.Elapsed +=  new System.Timers.ElapsedEventHandler(theout);  
 
//到达时间的时候执行事件; 
 
t.AutoReset = true;  
 
//设置是执行一次(false)还是一直执行(true);   
 
t.Enabled = true;
//需要调用 timer.Start()或者timer.Enabled = true来启动它, timer.Start()的内部原理还是设置timer.Enabled = true;
 
public void theout(object source, System.Timers.ElapsedEventArgs e)
{
 
}
3:System.Windows.Forms.Timer(Windows Forms Timer)
使用:
System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
 
myTimer.Tick += new EventHandler(timer1_Tick);
myTimer.Enabled = true;
myTimer.Interval = 1000;
myTimer.Start();
 
private void timer1_Tick(object sender, EventArgs e)
        {
        }
4:System.Windows.Threading.DispatcherTimer(WPF timer);
使用:
private static System.Windows.Threading.DispatcherTimer readDataTimer = new System.Windows.Threading.DispatcherTimer();
readDataTimer.Tick += new EventHandler(timeCycle);
readDataTimer.Interval = new TimeSpan(0, 0, 0, 1);
readDataTimer.Start();
 
public static void timeCycle(object sender, EventArgs e)
{
 
}
需要注意的是在wpf中涉及到界面操作的话,一定要使用第四种定时器DispatcherTime,DispatcherTimer是为wpf专门设计的,不然的话会提示界面资源被其他线程所拥有而无法更新界面。
--------------------- 
来源:CSDN 
原文:https://blog.csdn.net/aiyongyyy/article/details/51670840 
版权声明:本文为博主原创文章,转载请附上博文链接!

wpf中应该使用c#四种定时器中的DispatcherTimer的更多相关文章

  1. TCP四种定时器--学习笔记

    TCP使用四种定时器: 重传定时器(Retransmission Timer).坚持定时器(Persistent Timer).保活定时器(Keeplive Timer).时间等待定时器(Time_W ...

  2. mysql中模糊查询的四种用法介绍

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...

  3. JAVA中集合输出的四种方式

    在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello { public stat ...

  4. JS去除数组中重复值的四种方法

    JS去除数组中重复值的四种方法 1 /// <summary>            o[this[i]] = "";  }      }       newArr.p ...

  5. javaSE中JDK提供的四种线程池

    对javaSE中JDK提供的四种线程池稍作整理   一.Executor   package java.util.concurrent; /** * @since 1.5 * @author Doug ...

  6. PHP从数组中删除元素的四种方法实例

    PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...

  7. 下面介绍mysql中模糊查询的四种用法:

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...

  8. js中判断数据类型的四种方法总结

    js中判断数据类型的四种方法 前言 在js中,我们经常需要判断数据的类型,那么哪些方法可以用来判断数据的类型呢?哪种方法判断数据类型最准确呢? 我们来一个个分析: 1.typeof typeof是一个 ...

  9. TCP的四种定时器简单记录

    TCP管理的4个不同的定时器: 1.重传定时器:用于当希望收到另一端的确认. 2.坚持定时器:使窗口大小信息保持不断流动. 3.保活定时器:检测TCP空闲连接的另一端何时崩溃或重启. 4.2MSL定时 ...

随机推荐

  1. 【加密算法】AES

    一.简介 AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高. 用AES加密2000年10月,NIST(美国国家标准和技术协会 ...

  2. onsrcoll和scrollTop兼容与实现

    对于onscroll事件的支持 各浏览器 document.document.body.document.documentElement 对象的 onscroll 事件的支持存在差异. 所谓的支持性存 ...

  3. Android 导入 aar 库文件

    1. 在需要导入 aar 的 module 目录下创建一个名叫 "aars" 的目录,并把 aar 文件复制到这里. 2. 在项目的 build.gradle 文件里添加 allp ...

  4. Day 35 验证客户端的合法性+socketserver

    一 .getpeername和getsoketopt的用法 服务器端代码 import socket sk =socket.socket() sk.bind(('127.0.0.1',9000)) s ...

  5. Android的基础知识

    一.adb 的简单命令 1. adb devices  :   连接当前手机的设备 2.adb kill-server : 杀死当前的adbmingling 3.adb start-server : ...

  6. C++中vector的使用

    在c++中,vector是一个十分有用的容器. 作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据. vector在C++标准模板库中 ...

  7. LayUI把表格中的时间戳改成格式化的时间

  8. 【ARC072F】 Dam 单调队列

    题目大意: 有一个水库,容量为$L$,一开始是空的.有$n$天. 对于第i天,每天早上有$v_i$单位的,水温为$t_i$的水流进来.每天晚上你可以放掉一些水,多少自定.但是必须保证第二天水库不会溢出 ...

  9. 如何正确的加载和执行 JavaScript 代码

    无论当前 JavaScript 代码是内嵌还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成.JavaScript 执行过程耗时越久,浏览器等待响应用户输入的时间就越长.浏览器在下载和执行 ...

  10. POJ 1160

    #include <iostream> #define MAXN 305 #define inf 123456789 using namespace std; int _m[MAXN][M ...