在c#中每x秒执行一次操作,持续y分钟

编程入门 行业动态 更新时间:2024-10-27 20:29:42
本文介绍了在c#中每x秒执行一次操作,持续y分钟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我需要每 5 秒运行一次函数,持续 10 分钟.

I need to run a function every 5 seconds for 10 minutes.

我使用计时器运行 5 秒,但如何将计时器限制为仅 10 分钟?

I use a timer to run it for 5 secs, but how do I limit the timer to only 10 mins?

推荐答案

只需在经过处理的处理程序中捕获您想要停止和结束计时器的时间即可.这是一个示例(注意:我使用了 System.Threading.Timer timer.为您正在做的事情选择合适的计时器.例如,您可能在 System.Windows.Forms.Timer(如果您使用 Winforms 编写.)

Just capture the time that you want to stop and end your timer from within the elapsed handler. Here's an example (note: I used a System.Threading.Timer timer. Select the appropriate timer for what you are doing. For example, you might be after a System.Windows.Forms.Timer if you are writing in Winforms.)

public class MyClass
{
    System.Threading.Timer Timer;
    System.DateTime StopTime;
    public void Run()
    {
        StopTime = System.DateTime.Now.AddMinutes(10);
        Timer = new System.Threading.Timer(TimerCallback, null, 0, 5000);
    }

    private void TimerCallback(object state)
    {
        if(System.DateTime.Now >= StopTime)
        {
            Timer.Dispose();
            return;
        }
        // Do your work...
    }
}

这篇关于在c#中每x秒执行一次操作,持续y分钟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-30 11:34:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1393645.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!