定时器,在开发中的用途以及重要性不言而喻,特别是在我们的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(); }
以上三种定时的区别,大家可以自行运行测试下查看效果。 由简入繁,拿来即用
|