介绍
有下面四种方式:
- System.Timers.Timer
- System.Threading.Timer
- System.Windows.Forms.Timer
- System.Windows.Threading.DispatcherTimer(WPF中的定时器)
System.Timers.Timer(荐)
实例化Timer类
设置间隔时间为10000毫秒
System.Timers.Timer t = new System.Timers.Timer(10000);
设置
t.Elapsed += new System.Timers.ElapsedEventHandler(timerHandle); //到达时间的时候执行倒计时事件
//设置是执行一次(false)还是一直执行(true);
t.AutoReset = true;
要执行的事件
public void timerHandle(object source, System.Timers.ElapsedEventArgs e)
{
t.Stop();
}
启动
timer.Enabled = true
或者
// 原理还是设置timer.Enabled = true;
timer.Start()
停止
停止引发Elapsed事件,并且取消线程池中当前等待队列中剩余任务的执行。
timer.Enabled = false
或者
//原理还是设置timer.Enabled = false
timer.Stop()
System.Timers.Timer
详见:
https://blog.csdn.net/qq_22120623/article/details/119701432
https://www.cnblogs.com/sunny3158/p/16735712.html
System.Windows.Forms.Timer
该计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用,适用于单线程环境,
在此环境中, UI 线程用于执行处理。它要求用户代码提供 UI 消息泵, 并且始终从同一线程操作, 或将调用封送到
其他线程。Windows 窗体计时器组件是单线程的, 且限制为55毫秒的准确度,准确性不高
详见:https://www.cnblogs.com/sunny3158/p/16735712.html
System.Windows.Threading.DispatcherTimer
WPF中的定时器,不推荐使用,需要额外引用库
详见:https://blog.csdn.net/qq_22120623/article/details/119701432