NET Framework里面提供了三种Timer:
- System.Windows.Forms.Timer
- System.Timers.Timer
- System.Threading.Timer
MSDN中有这样一段说明:
System.Threading.Timer 是一个简单的轻量计时器,它使用回调方法并由线程池线程提供服务。 不建议将其用于 Windows 窗体,因为其回调不在用户界面线程上进行。 System.Windows.Forms.Timer 是用于 Windows 窗体的更佳选择。 要获取基于服务器的计时器功能,可以考虑使用 System.Timers.Timer,它可以引发事件并具有其他功能。
关于System.Threading.Timer的一段代码:
<span style="font-size:10px;"> System.Threading.Timer timer;
private void button1_Click(object sender, EventArgs e) //实例化---定时器开始
{
timer = new System.Threading.Timer(new TimerCallback(timer_Elapsed), null, 0, 1000);</span><span style="font-size:10px;">
}
void timer_Elapsed(object sender)
{
this.Invoke(new Action(() =>
{
for (int i = 0; i < 10; i++)
{
label1.Text = DateTime.Now.ToString();
}
}));
}</span>
<span style="font-size:10px;">timer.Dispose();//释放Timer,结束定时</span>