在窗口类中设置定时器是很轻松的事情,只需要拖个插件就好。然而有时候在非窗口类中许需要我们设置定时器,这时候我们应该怎么做?
仙子啊用一个简单例子说明,该程序作用是每隔十秒在控制台中输出“我最帅”。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