阅读量:0
在C#中,可以使用System.Timers.Timer类或System.Threading.Timer类来创建和使用定时器。
使用System.Timers.Timer类:
- 在代码顶部添加命名空间:
using System.Timers;
- 创建一个Timer对象:
Timer timer = new Timer();
- 设置定时间隔(以毫秒为单位):
timer.Interval = 1000;
(表示每隔1秒触发一次) - 绑定要执行的方法:
timer.Elapsed += TimerElapsedMethod;
(TimerElapsedMethod是自定义的方法名) - 启动定时器:
timer.Start();
- 定时器触发后执行的方法:
private static void TimerElapsedMethod(object sender, ElapsedEventArgs e) { /* 执行的代码 */ }
- 停止定时器:
timer.Stop();
- 在代码顶部添加命名空间:
使用System.Threading.Timer类:
- 在代码顶部添加命名空间:
using System.Threading;
- 创建一个Timer对象:
Timer timer = new Timer(TimerCallbackMethod, null, 0, 1000);
- 绑定要执行的方法:
private static void TimerCallbackMethod(Object obj) { /* 执行的代码 */ }
- 第一个参数是TimerCallback委托类型的方法,第二个参数是传递给方法的对象,第三个参数是延迟开始定时器的时间(以毫秒为单位),第四个参数是定时器间隔时间(以毫秒为单位)
- 停止定时器:
timer.Change(Timeout.Infinite, Timeout.Infinite);
- 在代码顶部添加命名空间:
注意:使用System.Timers.Timer类时,需要在Windows窗体应用程序中使用System.Windows.Forms.Application.Run方法来启动消息循环。若不使用消息循环,定时器的Elapsed事件将不会触发。使用System.Threading.Timer类时,不需要使用消息循环。