当前位置:  编程技术>.net/c#/asp.net

C# timer 定时器类的用法举例

    来源: 互联网  发布时间:2014-08-30

    本文导语:  C#中有关定时器类有三个:     1、定义在System.Windows.Forms里   2、定义在System.Threading.Timer类里   3、定义在System.Timers.Timer类里 System.Windows.Forms.Timer应用于WinForm中,通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件...

C#中有关定时器类有三个:  
 

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类的自定义方法:
 

代码示例:
public class BF_CheckUpdate
{
 private static object LockObject = new Object();
 
 // 定义数据检查Timer
 private static Timer CheckUpdatetimer = new Timer();
 
 // 检查更新锁
 private static int CheckUpDateLock = 0;
 
///
/// 设定数据检查Timer参数
///
internal static void GetTimerStart()
{
    // 循环间隔时间(10分钟)
    CheckUpdatetimer.Interval = 600000;
    // 允许Timer执行
    CheckUpdatetimer.Enabled = true;
    // 定义回调
    CheckUpdatetimer.Elapsed += new ElapsedEventHandler(CheckUpdatetimer_Elapsed);
    // 定义多次循环
    CheckUpdatetimer.AutoReset = true;
}
 
///
/// timer事件
///
private static void CheckUpdatetimer_Elapsed(object sender, ElapsedEventArgs e)
{
   // 加锁检查更新锁
    lock (LockObject)
    {
        if (CheckUpDateLock == 0) CheckUpDateLock = 1;
        else return;
    }
 
   //More code goes here.
  //具体实现功能的方法 www.
   Check();
      // 解锁更新检查锁
    lock (LockObject)
    {
        CheckUpDateLock = 0;
    }  
}
}

    
 
 

您可能感兴趣的文章:

  • C#中定时器System.Timers.Timer类的例子
  • C# Timer定时器控件运行时需要修改系统时间的问题
  • C# Timer类的简单例子
  • C#中定时器控件Timer的简单用法
  • C#中使用System.Timers.Timer定时器控件的例子
  • C#中timer类的用法总结
  • C#中Timer的简单范例(System.Windows.Forms.Timer)
  • C#中Timer定时器控件的使用方法
  • C#中timer类定时器控件的应用实例
  • C#中Timer定时器控件实例与原理解析
  • C#进度条ProgressBar和定时器Timer控件的应用举例
  • c#各种Timer类的区别与用法介绍
  • C#各种定时器Timer类的区别与使用介绍
  • C#中定时器控件Timer学习参考
  • C# Timer定时器控件的应用举例
  • jQuery定时器插件 jQuery Timers应用示例
  • Web服务器/前端 iis7站长之家
  • jQuery定时器插件 jQuery Timers
  • asp.net Timer无刷新定时器的例子
  • posix定时器问题“undefined reference to `timer_create'”
  • 关于在 red hat 下用posix timer实现高精度定时器的问题 急!!!
  • PHP框架Swoole定时器Timer特性分析
  • asp.net Timer定时器用法示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.util类timer的类成员方法: timer定义及介绍
  • asp.net中System.Timers.Timer的例子
  • java命名空间javax.management.timer类timer的类成员方法: stop定义及介绍
  • 在编写驱动程序的时候,timer处理中,遇到了其他某timer处理例程以外的代码的执行。请指点,各位
  • java命名空间javax.management.timer类timer的类成员方法: removeallnotifications定义及介绍
  • 关于__mod_timer函数(linux/kernel/timer.c中定义的)的问题
  • java命名空间javax.management.timer类timer的类成员方法: getnbnotifications定义及介绍
  • Applet中定时用线程定时,还是用Timer定时比较好????
  • java命名空间javax.management.timer类timer的类成员方法: postderegister定义及介绍
  • jQuery 计时器插件 jQuery Timer
  • java命名空间javax.management.timer类timer的类成员方法: isempty定义及介绍
  • java.util中的Timer和TimerTask类
  • java命名空间javax.management.timer类timer的类成员方法: one_day定义及介绍
  • 有关timer_list结构的问题
  • java命名空间javax.management.timer类timer的类成员方法: one_hour定义及介绍
  • 如何注册Timer中断
  • java命名空间javax.management.timer类timer的类成员方法: one_minute定义及介绍
  • 问一个timer的问题
  • java命名空间javax.management.timer类timer的类成员方法: prederegister定义及介绍
  • java 实现 vb中timer控件的功能?
  • java命名空间javax.management.timer类timer的类成员方法: one_second定义及介绍
  • 线程内如何实现timer功能?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3