你如何使用C#中的Timers来等待一定的时间再做某事

本文关键字:时间 等待 何使用 中的 Timers | 更新日期: 2023-09-27 18:24:18

有人告诉我,与使用Thread.Sleep(int)使程序在继续之前等待一定时间不同,我应该使用Timers。

我想知道该怎么做?有人能给我举个简短的例子吗?

你如何使用C#中的Timers来等待一定的时间再做某事

使用创建计时器

Timer _timer = new Timer();

用初始化计时器

_timer.Interval = 5000; // Time in milliseconds.
_timer.Tick += Timer_Tick;
_timer.Start();

计时器刻度事件处理程序

void Timer_Tick(object sender, EventArgs e)
{
    // Do the timed work here
}

您可以使用停止计时器

_timer.Stop();

更新

您可以将System.Windows.Forms.Timer-组件添加到Form(确切地说,添加到其组件托盘)。这样做的优点是,您可以从属性窗口设置其属性和Tick事件。

还可以查看其他计时器的文档:System.Threading.Timer、System.timers.Timer、System.Web.UI.Timer和System.Windows.Threading.DispatcherTimer。Abhishek Sur在这里写了一个很好的比较

 myTimer.Tick += new EventHandler(TimerEventProcessor);
 // Sets the timer interval to 5 seconds.
myTimer.Interval = 5000;
myTimer.Start();

这将导致TimeEventProcessor在5秒内执行,而不会阻塞当前线程。