C#四种定时器的用法
工具/原料
Visual Studio
电脑
C#四种定时器的用法
1、日常项目开发中,很多时候都需要用到定时器来处理一些问题,那么c#中各种定时器应该怎么用呢?下面来简单介绍下C#中4种定时器的使用方法说明:
2、第一种定时器,System.Windows.Forms.Timer使用方法如下:System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();//创建定时器timer.Tick += new EventHandler(timer1_Tick);//事件处理timer.Enabled = true;//设置启用定时器timer.Interval = 1000;//执行时间timer.Start();//开启定时器/// <summary>/// 定时器事件处理/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void timer1_Tick(object sender, EventArgs e){timer.Stop();//停止定时器timer.Tick -= new EventHandler(timer1_Tick);//取消事件timer.Enabled = false;//设置禁用定时器}
3、第二种定时器,System.Threading.Timer使用方法如下:System.Threading.Timer timer;timer = new System.Threading.Timer(new TimerCallback(timerCall), this, 3000, 0);//创建定时器/// <summary>/// 事件处理/// </summary>/// <param name="obj"></param>private void timerCall(object obj){timer.Dispose();//释放定时器}
4、第三种定时器,System.Timers.Timer使用方法如下:System.Timer衡痕贤伎s.Timer timer = new System.Timers.Timer(1000);//创建定时器,设置间隔时间为1000毫秒;timer.Elapsed += new System.Timers.ElapsedEventHandler(theout); //到达时间的时候执行事件;timer.AutoReset = true;//设置是执行一次(false)还是一直执行(true);timer.Enabled = true;//需要调用 timer.Start()或者timer.Enabled = true来启动它,timer.Start();//timer.Start()的内部原理还是设置timer.Enabled = true;/// <summary>///执行事件/// </summary>/// <param name="source"></param>/// <param name="e"></param>public void theout(object source, System.Timers.ElapsedEventArgs e){timer.Elapsed -= new System.Timers.ElapsedEventHandler(theout); //取消执行事件; timer.Enabled = false;//禁用timer.Stop();//停止}
5、第四种定时器,System.Windows.Threading.DispatcherTimer(WPF中的定骀旬沃啭时器)使用方法如下:private static System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();//创建定时器timer.Tick += new EventHandler(theout);//执行事件timer.Interval = new TimeSpan(0, 0, 0, 1);//1s执行timer.IsEnabled = true;//启用timer.Start();//开启/// <summary>///执行事件/// </summary>/// <param name="source"></param>/// <param name="e"></param>public static void theout(object sender, EventArgs e){timer.Tick -= new EventHandler(theout);//取消执行事件; timer.IsEnabled = false;//禁用timer.Stop();//停止}