System.Timers.Timer を使ったタイマ処理|C#

   

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

 - C#