千家信息网

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

发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,本文小编为大家详细介绍"C#中的Timer定时器类如何使用",内容详细,步骤清晰,细节处理妥当,希望这篇"C#中的Timer定时器类如何使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
千家信息网最后更新 2024年10月01日C#中的Timer定时器类如何使用

本文小编为大家详细介绍"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# 文章 内容 对象 就是 属性 数据 示例 类型 妥当 两个 任务 函数 名称 官方 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 传奇数据库编辑 微盘 微信小程序云开发数据库异步 盗版数据库系统概念 万载县软件开发公司 关于信息网络安全的手抄报简单 视频聊天软件开发注意事项 合肥力动软件开发有限公司 三级网络技术真题讲解 esxi怎么挂载服务器硬盘 csgo怎么改服成俄罗斯服务器 软件开发 名词 里程碑 梦想世界官网服务器 ip sql 数据库 嘉兴睿银网络技术 微信怎么开启数据库备份 共享电动车app软件开发 加强网络安全主题教育手抄报 服务器不能下载怎么回事 国家电网网络安全稿件 四川公司果蔬配送软件开发 系统集成与软件开发哪个有 深圳云舒网络技术有限公司好吗 连接存储到服务器的线 存储服务器的使手管理及规定 网络技术在汽车中的应用 网络安全告警学习心得体会 QQ接受邮件的服务器 山东省济南浪潮存储服务器电话 2022年服务器电源品牌对比 csmar数据库是saas
0