如何使用 C# 中的计时器在执行某项操作之前等待一定时间?

发布于 2025-01-05 04:34:39 字数 96 浏览 0 评论 0原文

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

我想知道这应该怎么做?有人可以给我一个简短的例子吗?

I was told that as opposed to using Thread.Sleep(int) to cause the program to wait for a certain amount of time before proceeding, I should use Timers.

I was wondering how this should be done? Could someone give me a short example?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仅一夜美梦 2025-01-12 04:34:39

使用创建计时器 使用

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();

您可以使用UPDATE

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

另请检查其他计时器的文档: System.Threading.Timer System.Timers.Timer, <一href="http://msdn.microsoft.com/en-us/library/system.web.ui.timer.aspx" rel="nofollow">System.Web.UI.Timer 和 System.Windows.Threading.DispatcherTimer。 Abhishek Sur 在此处写了一篇很好的比较

Create a timer with

Timer _timer = new Timer();

Initialize the timer with

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

The timer tick event handler

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

You can stop the timer with

_timer.Stop();

UPDATE

You can add the System.Windows.Forms.Timer-component to a Form (to its component tray to be precise). This has the advantage that you can set its properties and the Tick-event from the properties window.

Check also for the documentation of the other timers: System.Threading.Timer, System.Timers.Timer, System.Web.UI.Timer and System.Windows.Threading.DispatcherTimer. Abhishek Sur has written a nice comparision here

忆悲凉 2025-01-12 04:34:39
 myTimer.Tick += new EventHandler(TimerEventProcessor);

 // Sets the timer interval to 5 seconds.

myTimer.Interval = 5000;

myTimer.Start();

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

 myTimer.Tick += new EventHandler(TimerEventProcessor);

 // Sets the timer interval to 5 seconds.

myTimer.Interval = 5000;

myTimer.Start();

This will cause the TimeEventProcessor to be executed in 5s without blocking the current thread.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文