C#:如何在非窗口类中设置定时器

    在窗口类中设置定时器是很轻松的事情,只需要拖个插件就好。然而有时候在非窗口类中许需要我们设置定时器,这时候我们应该怎么做?

    仙子啊用一个简单例子说明,该程序作用是每隔十秒在控制台中输出“我最帅”。C#为我们提供了一个专门的定时器类System.Timers.Timer,当我们需要调用定时器时,可以先手动输入代码实例化一个定时器。

 System.Timers.Timer timer1 = new System.Timers.Timer(10000);
            //设置了一个名为timer1的定时器,其时间为10秒

    然后将计时器到时间的事件跟委托建立联系。

 timer1.Elapsed += new System.Timers.ElapsedEventHandler(theout);
            //通过委托将定时器到时间的事件和处理事件的方法联系起来

    编写处理事件的方法代码

public static void theout(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("我最帅!");
        }

    设置定时器的参数:

timer1.AutoReset = true;
            //重复执行计时

            timer1.Enabled = true;
            //开始处理事件

最后结果


完整代码

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

namespace Try
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Timers.Timer timer1 = new System.Timers.Timer(10000);
            //设置了一个名为timer1的定时器,其时间为10秒

            timer1.Elapsed += new System.Timers.ElapsedEventHandler(theout);
            //通过委托将定时器到时间的事件和处理事件的方法联系起来

            timer1.AutoReset = true;
            //重复执行计时

            timer1.Enabled = true;
            //开始处理事件

            Console.ReadKey();

        }

        public static void theout(object sender, ElapsedEventArgs e)
        {
            Console.WriteLine("我最帅!");
        }
    }
}
参考博客:https://blog.csdn.net/rinkback2008/article/details/6644394


猜你喜欢

转载自blog.csdn.net/buaazyp/article/details/80780688