C#四种定时器的用法
文章插图
需要这些哦
Visual Studio
电脑
用法1System.Windows.Forms.Timer
文章插图
2代码如下:
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="ser"></param>/// <param name="e"></param>private void timer1_Tick(object ser, EventArgs e){ timer.Stop();//遏制按时器 timer.Tick -= new EventHandler(timer1_Tick);//打消事务 timer.Enabled = false;//设置禁用按时器}
3System.Threading.Timer
文章插图
4代码如下:
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();//释放按时器}
5System.Timers.Timer
文章插图
6代码如下:
System.Timers.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();//遏制}
7System.Windows.Threading.DispatcherTimer(WPF中的按时器)
文章插图
8代码如下:
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();//开启
【C#四种定时器的用法】/// <summary>///执行事务/// </summary>/// <param name="source"></param>/// <param name="e"></param>public static void theout(object ser, EventArgs e){ timer.Tick -= new EventHandler(theout);//打消执行事务; timer.IsEnabled = false;//禁用 timer.Stop();//遏制}
注重事项DispatcherTimer是运行在UI线程上的, 其益处是可以在按时事务中点窜UI元素, 其它三种按时器是运行在自力的线程上的, 与UI线程无关
若是需要点窜UI控件, 则必需委托给调剂器this.Dispatcher进行, 否则的话会提醒界面资本被其他线程所拥有而无法更新界面
推荐阅读
- 如何设置乐开店的支出记账
- 走路对身体有怎么样的好处
- 如何对常见的运动损伤进行预防
- 这样锻炼,你的腿只会越练越粗 !
- 狗狗的起源:一种受到干预的进化结果!
- 艰辛的圆明园国宝青铜 “ 虎蓥 ”回家记
- 螺蛳粉的“臭味”到底哪里来的?
- 五分钟读懂绿帽子的由来,为什么现代的帽子不能是绿色?
- 意思|胡茬婊什么意思? 这梗指想要谈恋爱的胡子拉碴的男人
- 这些山是如何改变陕西的?