C# Timer用法及实例详解

时间:2023-01-30 21:37:24

1.C# Timer用法及实例详解

http://developer.51cto.com/art/200909/149829.htm

http://www.cnblogs.com/OpenCoder/archive/2010/02/23/1672043.html

关于C# Timer类  在C#里关于定时器类就有3个

C# Timer使用的方法1.定义在System.Windows.Forms里

C# Timer使用的方法2.定义在System.Threading.Timer类里  "

C# 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控件。它们的缺点是不支持直接的拖放,需要手工编码。

C# Timer用法实例

使用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;     //是否执行System.Timers.Timer.Elapsed事件;   
    
    public void theout(object source, System.Timers.ElapsedEventArgs e)   
     {   
        MessageBox.Show("OK!");   
     }  

 以上用法类似于winform,如下

1.将timer拖到界面上,设定属性值,时间间隔等;

2.在事件中双击自动生成如theout的方法;

3. 调用方法,在要调用的按钮事件等内,timer.start(),timer.stop() 这样就行了。