定義:
System.Threading.Timer timer;
int count;
TextBox textBox1;
創建計時器和每秒要執行的方法:
timer = new System.Threading.Timer(st =>
{
++count;
textBox1.AppendText("計數:" + count.ToString() + "\n");
if (count == 100)
timer.Change(Timeout.Infinite, Timeout.Infinite);
},null, Timeout.Infinite, Timeout.Infinite);
或(callback是執行函數):
timer = new System.Threading.Timer(callback,null, 1000, 500); (毫秒)
private void Callback( Object state )
{
// 執行操作,執行完歸零計時器,回調callback,如此循環
timer .Change( 1000, 500);
}
以上函數后兩個參數的意義:
Timer(TimerCallback callback, object state , uint duetime , uint period)
duetime:回調首次被調用之前的時間,如果被設置為Timeout.Infinite則會停止計時
period:兩次回調之間的時間間隔,如果被設置為Timeout.Infinite則回調只調用一次
啟動:
textBox1.AppendText("開始\n");
count = 0;
timer.Change(0, 1000);
暫停:
timer.Change(Timeout.Infinite, Timeout.Infinite);
繼續:
timer.Change(0, 1000);
停止:
timer.Change(Timeout.Infinite, Timeout.Infinite);
count = 0;