System.Timers.Timer を使ったタイマ処理|C#
System.Timers.Timer
を使い、一定間隔毎にタイムアップを通知する方法です。
System.Timers.Timer を使ったサンプル
Interval
はミリ秒単位で指定します。
本サンプルは、1秒毎にElapsed
が実行されます。
using System;
using System.Timers;
private Timer _timer = null;
private void StartTimer() {
Timer timer = new System.Timers.Timer();
timer.Interval = 1000;
timer.Elapsed += delegate(object sender, System.Timers.ElapsedEventArgs e) {
Console.WriteLine(DateTime.Now.ToString());
};
timer.Start();
_timer = timer;
}
private void StopTimer() {
if (_timer == null) {
return;
}
_timer.Stop();
_timer = null;
}
timer.Start();
はtimer.Enabled = true;
でも可_timer.Stop();
は_timer.Enabled = false;
でも可timer.AutoReset = false;
にすると、Elapsed
イベントの発生が1回になります
出力
2018/06/19 1:13:50
2018/06/19 1:13:51
2018/06/19 1:13:52