日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#中Timer定時器類的簡單使用_C#教程

作者:三文魚先生 ? 更新時間: 2022-07-15 編程語言

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();
? ? }
}

結果

原文鏈接:https://blog.csdn.net/qq_44717657/article/details/123370355

欄目分類
最近更新