定时器,在开发中的用途以及重要性不言而喻,特别是在我们的winform等客户端程序中。
C#向我们提供了三种计时器的实现,在此我们简单的介绍一下。.
具体的实现代码如下,可以根据需要选择使用。
实现代码:
//第一种:System.Windows.Forms.Timer
private void button1_Click(object sender, EventArgs e)
{
//单线程
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
//1秒间隔
timer.Interval = 1000;
//执行事件
timer.Tick += (s, e1) =>
{
listBox1.Items.Add("Forms Timer");
};
//开始执行
timer.Start();
//Thread.Sleep(3000);
//结束执行
timer.Stop();
}
//第二种:System.Timers.Timer
private void button2_Click(object sender, EventArgs e)
{
//多线程
System.Timers.Timer timer = new System.Timers.Timer();
//1秒间隔
timer.Interval = 1000;
//执行事件
timer.Elapsed += (s, e1) =>
{
listBox1.Invoke(new Action(() =>
{
listBox1.Items.Add("Timers Timer");
}));
};
//开始执行
timer.Start();
// Thread.Sleep(3000);
//结束执行
timer.Stop();
}
//第三种:System.Threading.Timer
private void button3_Click(object sender, EventArgs e)
{
//多线程
//初始化时即设定好启动时间、执行事件、间隔等参数
System.Threading.Timer timer = new System.Threading.Timer(s =>
{
listBox1.Invoke(new Action(() =>
{
listBox1.Items.Add("Threading Timer");
}));
}, null, 0, 1000);
// Thread.Sleep(3000);
//结束执行
timer.Change(-1, -1);
timer.Dispose();
}
以上三种定时的区别,大家可以自行运行测试下查看效果。