c# - 如何在 C# 中暂停计时器?

标签 c# timer

我的代码中有一个计时器,间隔为 10 秒。

当时间过去时,我会做一些检查。检查和一些更新作业可能需要 10 多秒。

但是,如果我没有停止计时器,似乎每 10 秒就会执行一次检查。如果我调用 stop(),计时器将无法再次启动。 即类似的东西:

    protected void timer_elapsed(object sender, EventArgs args) 
    {
        __timer.Stop();
        //Some checking here more than 10s
        __timer.Start();
    }

我只想在检查完成之前再检查 10 秒。

有人能帮忙吗?

最佳答案

假设这是类似于 winforms 或 WPF 的东西,应该 可以工作。你确定你没有得到异常(exception)或什么吗?

如果它是 web,则所有赌注都关闭;-p 您或许应该澄清这是 System.Threading.TimerSystem.Timers.Timer 还是 System.Windows.Forms.Timer,或其他东西。

关于c# - 如何在 C# 中暂停计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2786133/

相关文章:

c# - Azure DevOps Build 缺少程序集引用

c# - Azure.Messaging.EventHubs 与 WindowsAzure.ServiceBus 生成的消息有区别吗?

c++ - 使用类时,计时器似乎运行得更快。在 C 版本中,它按预期工作

c++ - 带有 chrono::duration 参数和 chrono::duration::count 返回结果的模板函数

c# - System.Timers.Timer.Stop() 是否重新开始间隔倒计时?

c# - 算术运算不起作用

c# - PostgreSQL - 选择不同 - 按字段排序未在选择中返回

c# - 我需要有关使用 linq 的帮助

java - 每 2 小时执行一次 Java 定时器

multithreading - 在计时器上运行任务