C#中timer类的用法

C#中timer类的用法,第1张

概述C#中timer类的用法关于C#中timer类  在C#里关于定时器类就有3个   1.定义在System.Windows.Forms里   2.定义在System.Threading.Timer类里   3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的 C#中timer类的用法 关于C#中timer类  在C#里关于定时器类就有3个   
1.定义在System.windows.Forms里   
2.定义在System.Threading.Timer类里   
3.定义在System.Timers.Timer类里 

System.windows.Forms.Timer是应用于WinForm中的,它是通过windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API  SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console  Application(控制台应用程序)无法使用。   
  
System.Timers.Timer和System.Threading.Timer非常类似,它们是通过.NET  Thread  Pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。System.Timers.Timer还可以应用于WinForm,完全取代上面的Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。

例: 
使用System.Timers.Timer类 
//实例化Timer类,设置间隔时间为10000毫秒; 
System.Timers.Timer t = new System.Timers.Timer(10000);
//到达时间的时候执行事件;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout); 
t.autoreset = true;//设置是执行一次(false)还是一直执行(true); 
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;

====================================
自己写的一个用System.Timer类的方法

 1  public  class BF_CheckUpdate
 2     {
 3          private  static  object LockObject =  new Object();
 4 
 5          //  定义数据检查Timer
 6          static Timer CheckUpdatetimer =  new Timer();
 7 
 8           检查更新锁  9          int CheckUpDateLock = 0;
10 
11          /// 12            设定数据检查Timer参数
13  ///
14          internal  voID GetTimerStart()
15         {
16               循环间隔时间(10分钟) 17             CheckUpdatetimer.Interval = 600000;
18               允许Timer执行 19             CheckUpdatetimer.Enabled =  true;
20               定义回调 21             CheckUpdatetimer.Elapsed +=  new ElapsedEventHandler(CheckUpdatetimer_Elapsed);
22               定义多次循环 23             CheckUpdatetimer.autoreset =  24         }
25 
26          27   timer事件
28  29  30  31          voID CheckUpdatetimer_Elapsed( object sender, ElapsedEventArgs e)
32         {
33              加锁检查更新锁 34              lock (LockObject)
35             {
36                  if (CheckUpDateLock == 0) CheckUpDateLock = 1;
37                  else  return;
38             }         
39           
40             More code goes here

.
41             具体实现功能的方法 42            Check();
43                 解锁更新检查锁 44              45             {
46                 CheckUpDateLock = 0;
47             }            
48         }
49 } 总结

以上是内存溢出为你收集整理的C#中timer类的用法全部内容,希望文章能够帮你解决C#中timer类的用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1213013.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存