定时器就是经过固定时间,执行固定任务,本文主要介绍了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定时器类内容请搜索得得之家以前的文章希望大家以后多多支持得得之家!
本文标题为:C#中Timer定时器类的简单使用


- c# 模拟线性回归的示例 2023-03-14
- user32.dll 函数说明小结 2022-12-26
- 如何使用C# 捕获进程输出 2023-03-10
- .NET CORE DI 依赖注入 2023-09-27
- Unity3D实现渐变颜色效果 2023-01-16
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- Unity Shader实现模糊效果 2023-04-27
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- Oracle中for循环的使用方法 2023-07-04