**
/************************************/
system.timers.timer t = new system.timers.timer(5000); //設定時間間隔為5秒
private void form1_load(object sender, eventargs e)
private void btnstart_click(object sender, eventargs e)
private void timer_timesup(object sender, system.timers.elapsedeventargs e)
private void btnstop_click(object sender, eventargs e)
/******************************/
在.net中有三種計時器,一是system.windows.forms命名空間下的timer控制項,它直接繼承自componet;二是system.timers命名空間下的timer類。
timer控制項:timer控制項只有繫結了tick事件,和設定enabled=true後才會自動計時,停止計時可以用stop()控制,通過stop()停止之後,如果想重新計時,可以用start()方法來啟動計時器。timer控制項和它所在的form屬於同乙個執行緒;
system.timers.timer類:定義乙個system.timers.timer物件,繫結elapsed事件,通過start()方法啟動計時,通過stop()方法或者enable=false停止計時。autoreset屬性設定是否重複計時。elapsed事件繫結就相當另開了乙個執行緒,也就是說在elapsed繫結的事件裡不能訪問其它執行緒裡的控制項。
system.threading.timer:定義該類時,主要有四個引數。timercallback,乙個返回值為void,引數為object的委託,也是計時器執行的方法。object state,計時器執行方法的的引數。 int duetime,呼叫 callback 之前延遲的時間量(以毫秒為單位)。指定 timeout.infinite 以防止計時器開始計時。指定零 (0) 以立即啟動計時器。
int period,呼叫 callback 的時間間隔(以毫秒為單位)。指定 timeout.infinite 可以禁用定期終止。
在這三種計時器中,第一種計時器和所在的form處於同乙個執行緒,因此執行的效率不高。而第二種和第三中計時器執行的方法都是新開乙個執行緒,所以執行效率比第一種計時器要好。因此在使用計時器時,建議使用第二種和第三種。
下面是三中定時器使用的例子
1)timer控制項
public partial class timer : form
private void timer1_tick(object sender, eventargs e)
private void btstart_click(object sender, eventargs e)
private void btstop_click(object sender, eventargs e)
}2)system.timers.timer
public partial class timer : form
private void timer_elapsed(object sender, system.timers.elapsedeventargs e)
private void btstart_click(object sender, eventargs e)
private void btstop_click(object sender, eventargs e)
private delegate void settbmethodinvok(string value);
private void settb(string value)
else}}
3) system.threading.timer
public partial class timer : form
public void settb(object value)
else
}private void btstart_click(object sender, eventargs e)
private void btstop_click(object sender, eventargs e)
}
C 計時器的三種使用方法
在.net中有三種計時器,一是system.windows.forms命名空間下的timer控制項,它直接繼承自componet 二是system.timers命名空間下的timer類。timer控制項 timer控制項只有繫結了tick事件,和設定enabled true後才會自動計時,停止計時可...
C 三種效能分析計時器介紹
第一種方法 使用stopwatch class program sw.stop console.writeline sw.elapsedmilliseconds.tostring private static void internalmethod 上面的 重 複調用了方法100多萬次,花的時間是7...
C 裡面的三種定時計時器 Timer
在.net中有三種計時器 1 system.windows.forms命名空間下的timer控制項,它直接繼承自componet。timer控制項只有繫結了tick事件和設定enabled true後才會自動計時,停止計時可以用stop 方法控制,通過stop 停止之後,如果想重新計時,可以用sta...