Timer类的常见使用方法

System.Timers名称空间中的Timer类的构造函数只需要一个时间间隔,经过该时间间隔后应该调用的方法用Elapsed事件指定,这个事件需要一个ElapsedEventHandler类型的委托,这个委托需要objec和ElapsedEventArgs参数。另外它的AutoReset属性是指定计时器是否重复触发,如果这个属性设置为false,事件就触发一次(默认是重复触发的),调用Start()方法允许计时器触发事件,除了调用Star()方法之外,还可以把Enabled属性设置为true,Stop()方法把Enable属性设置为false,以此用来停止计时器。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;

namespace MyTimer
{
    class Program
    {
        public static int nCount = 0;
        public static Timer MyTimer = null;
        static void Main(string[] args)
        {
            //设置时间间隔
            MyTimer = new Timer(1000);
            //计时器重复触发
            MyTimer.AutoReset = true;
            //MyTimer.Elapsed +=  TimerEvent;(也可以正常运行)
            MyTimer.Elapsed += new ElapsedEventHandler(TimerEvent);
            //启动计时器
            MyTimer.Start();
            //MyTimer.Enabled = true;
            Console.WriteLine("------定时器启动------");
            Console.ReadKey();
        }

        private static void TimerEvent(object sender, ElapsedEventArgs e)
        {          
            Console.WriteLine("{0}", ++nCount);
            if(nCount >= 10)
            {
                //关闭计时器
                MyTimer.Stop();
                Console.WriteLine("------定时器停止------");
            }
        }
    }
}
原文地址:https://www.cnblogs.com/QingYiShouJiuRen/p/10267494.html