ASP.NET/C#定时器基本用法

前沿:

 定时器这三个词,大家一听都知道什么意思。就像闹钟一样,你设定起床时间,就是开启定时器,当你定的闹铃时间到了就会响起。然后你伸出手“啪的一声关闭”,就是停止定时器。

在我们程序中定时器还是经常会用的。比如:轮询一个用户的登录状态,等等吧。

今天主要给大家分享下定时器的基本用法:

在ASP/C#中常用的定时器有2种:

第一种:就是窗体(webForm)里有一个定时器的Timer控件,我们可以直接用,不过,现在做开发都不用窗体程序了,因为用窗体写程序,程序会生成好多垃圾代码,影响效率。所以窗体的大家可以没事做个了解。

第二种:就是微软在VS里Timer类了,这个是我们开发常用的。

在介绍用法之前先给大家介绍下Timer的一些常用属性

Timer常用属性

①:Elapsed;达到时间间隔时出发你所做的事。

②:Interval;设定定时器的时间,多长时间启动一次--以毫秒为单位

③:AutoReset:是个bool类型的。为true时,定时器可以一直运行,false时,定时器执行一次。

④:Enabled:是bool类型的,为true时,定时器启动,false定时器停止。

⑤:Start()与Stop();与Enabled一样的,true相当Start(),false相当于Stop(),二者任写一个就行。

注意事项:

①:Timer ;在实例化定时器的时候,有1个重载,可以直接把执行的时间间隔直接写入,也可以在用Interval进行设置

System.Timers.Timer timer = new System.Timers.Timer(1000);//设定计时器,1秒进行一次循环
timer.Interval = 1000;//设置时间(定时器多少秒执行一次--注意是毫秒)


二者的作用一样,任选其一

②:在设置Elapsed属性的时候在其右边必须时+=或者-=

timer.Elapsed += new System.Timers.ElapsedEventHandler(Start);

并且ElapsedEventHandler是个委托,括号里必须是一个void无返回值的方法
这个方法里的参数必须是object和ElapsedEventArgs这2个类型的。

例如:
    //你想实现的功能
    public static void Start(object sender, ElapsedEventArgs e)
        {
          Console.WriteLine(DateTime.Now.ToString()); 
        }

基本的注意的点就这些了:下面是代码实现:

 class Program
    {
        static void Main(string[] args)
        {
            RemenberTime();//调用控制器
            Console.Read();
        }
        public static void RemenberTime()
        {
            System.Timers.Timer timer = new System.Timers.Timer(1000);//设定计时器,1秒进行一次循环
            timer.Elapsed += new System.Timers.ElapsedEventHandler(Start);
            //timer.Interval = 1000;//设置时间(定时器多少秒执行一次--注意是毫秒)
            //System.Timers.Timer timer = new System.Timers.Timer(1000);与上作用一样
            timer.AutoReset = true;//执行多次--false执行一次
            timer.Enabled = true;//执行事件为true,定时器启动
            //timer.Start();//定时器启动Start()这个方法与timer.Enabled = true;作用一样,二者写一个就可以
            //timer.Stop();//定时器停止Stop()这个方法与timer.Enabled = false;作用一样,二者写一个就可以
        }
        public static void Start(object sender, ElapsedEventArgs e)
        {
          Console.WriteLine(DateTime.Now.ToString()); 
        }

    }

执行效果:

ASP.NET/C#定时器基本用法_第1张图片

完成!!!

你可能感兴趣的:(ASP.NET/C#定时器基本用法)