最近正好做一个WEB中定期执行的程序,而.NET中有3个不同的定时器。所以正好研究研究。这3个定时器分别是:

//1.实现按用户定义的时间间隔引发事件的计时器。此计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用。
System.Windows.Forms.Timer

// 2.提供以指定的时间间隔执行方法的机制。无法继承此类。
System.Threading.Timer

//3.在应用程序中生成定期事件。
System.Timers.Timer

这三个定时器位于不同的命名空间内,上面大概介绍了3个定时器的用途,其中第一个是只能在Windows窗体中使用的控件。在.NET1.1里面,第3个System.Timers.Timer,也是可以拖拽使用,而.NET2.0开始取消了,只能手动编写代码。而后2个没有限制制。下面通过具体的列子来看3个Timer的使用和区别,网上谈的很多,但基本都没有代码。

System.Windows.Forms.Timer

 

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        int num = 0;
        
        private void Form_Timer_Tick(object sender, EventArgs e)
        {
            label1.Text = (++num).ToString();
            Thread.Sleep(3000);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form_Timer.Start();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form_Timer.Stop();
        }
    }

继续阅读