·關于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類
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!");
}
新聞熱點
疑難解答