C# 计时器和计数

定义:
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;

posted @ 2020-01-13 14:41  剑存古风  阅读(1170)  评论(0编辑  收藏  举报