關於C#timer  C#裏關於計時器類就有3  

1.
定義在System.Windows.Forms
  

2.
定義在System.Threading.Timer類裏
  

3.
定義在System.Timers.Timer類裏 

 



System.Windows.Forms.Timer是應用於WinForm中的,它是通過Windows消息機制實現的,類似於VBDelphi中的Timer控制項,內部使用API  SetTimer實現的。它的主要缺點是計時不精確,而且必須有消息迴圈,Console  Application(控制臺應用程式)無法使用。  

 

System.Timers.Timer
System.Threading.Timer非常類似,它們是通過.NET  Thread  Pool實現的,輕量,計時精確,對應用程式、消息沒有特別的要求。System.Timers.Timer還可以應用于WinForm,完全取代上面的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!");

}  

 


狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()