文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#中的Timer定时器类如何使用

2023-06-30 15:19

关注

本文小编为大家详细介绍“C#中的Timer定时器类如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中的Timer定时器类如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

System.Timers.Timer

定时器就是经过固定时间,执行固定任务。

定时器简单使用

设置初始属性

初始化定时器间隔多少时间执行

System.Timers.Timer timer = new System.Timers.Timer(double interval);

interval是毫秒数。比如最后的毫秒数设为1000就是一秒。

也可以用无参构造函数创建后,用对象.interval设置。

设置执行的事件–Elapsed

timer.Elapsed += 需要方法名称。

经过上面设置好的毫秒后,执行事件。比如我要在指定时间内执行方法MyMethod,使用该参数Elapsed进行指定。timer.Elapsed += MyMethod。

该方法有且仅有两个参数MyMethod(Object source, ElapsedEventArgs e) ,且返回值为void。 其中的ElapsedEventArgs 是给Elapsed事件提供数据的对象。
当然了,你还可以再MyMethod中调用其他的方法。

设置是否重复执行–AutoReset

该参数的值类型为bool,默认为false。
如果为false,该定时器只会在第一次经过指定时间执行一次Elapsed方法,后续再经过指定时间间隔就不再执行。

如果为true则每经过时间间隔就执行一次该方法。

设置是否触发Elapsed事件–Enabled

该参数的值类型为bool,默认为false。
如果为false,就算经过指定事件也不触发Elapsed事件。
若为true,经过指定时间,执行Elapsed事件。

简单示例–借用官方示例

using System;using System.Timers;public class TimerTest{    //定义定时器    private static System.Timers.Timer aTimer;    public static void Main()    {        //初始化定时器属性        SetTimer();        Console.WriteLine("\n键盘输入即可退出...\n");        Console.WriteLine("定时器开始于 {0:HH:mm:ss.fff}", DateTime.Now);        Console.ReadLine();//保持程序持续运行        aTimer.Stop();//停止定时器        Console.WriteLine("\n停止定时器...\n");        aTimer.Dispose();//释放资源        Console.WriteLine("退出...");        Console.ReadLine();    }    private static void SetTimer()    {        Console.WriteLine("初始化当前的定时器");        // 创建一个两秒一次的定时器        aTimer = new System.Timers.Timer(2000);        // 设置事件        aTimer.Elapsed += MyMethod;        aTimer.AutoReset = true;        aTimer.Enabled = true;        Console.WriteLine("设置完毕");    }    public static void A()    {        //在这里写真正的操作        Console.WriteLine("我定时执行的操作A");    }    private static void MyMethod(Object source , ElapsedEventArgs e)    {        //我真正需要执行的操作        Console.WriteLine("当前时间 {0:HH:mm:ss.fff}", DateTime.Now);        Console.WriteLine("ElapsedEventArgs携带的数据 {0:HH:mm:ss.fff}", e.SignalTime);        A();    }}

结果

C#中的Timer定时器类如何使用

读到这里,这篇“C#中的Timer定时器类如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯