C#中计时器Timer的三种使用方法

来源:互联网 发布:从零开始学淘宝txt 编辑:程序博客网 时间:2024/04/28 20:42


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



例1: 
使用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!"); 
}   


附获取时间方法:


DateTime da1 = DateTime.Now.Date.ToUniversalTime();//

        DateTime da2 = DateTime.Now;

                DateTime da3 = DateTime.Today;

MessageBox.Show(da1.ToString());

MessageBox.Show(da2.ToString());

                MessageBox.Show(da3.ToShortDateString());

                MessageBox.Show( DateTime.Now.ToShortTimeString());//得到现在的时间


0 0
原创粉丝点击