C#のタイマーの使い方は何ですか?
C#では、System.Timers.TimerクラスやSystem.Threading.Timerクラスを使用して、タイマーを作成および使用することができます。
- System.Timers.Timerクラスの使用:
- コードの先頭に、名前空間を追加してください:using System.Timers;
- Timerオブジェクトを作成します:Timer timer = new Timer();
- timer.Intervalを1000ミリ秒に設定すると、1秒ごとにトリガーが発生します。
- 処理するメソッドをバインドする:timer.Elapsed += TimerElapsedMethod;(TimerElapsedMethodはカスタムメソッド名です)
- タイマーを開始する:timer.Start();
- 定時器がトリガーされた後に実行されるメソッド:private static void TimerElapsedMethod(object sender, ElapsedEventArgs e) { /* 実行するコード */ }
- タイマーを停止する:timer.Stop();
- System.Threading.Timerクラスを使用する:
- コードの先頭に名前空間を追加してください:using System.Threading;
- タイマーオブジェクトを作成する:Timer timer = new Timer(TimerCallbackMethod、null、0、1000);
- 指定されたメソッドをバインドする:private static void TimerCallbackMethod(Object obj) { /* 実行するコード */ }
- 最初のパラメータはTimerCallbackデリゲート型のメソッドであり、2つ目のパラメータはメソッドに渡すオブジェクト、3つ目のパラメータはタイマーを遅延させる時間(ミリ秒単位)、4つ目のパラメータはタイマーの間隔時間(ミリ秒単位)です。
- タイマーを停止する:timer.Change(Timeout.Infinite, Timeout.Infinite);
System.Timers.Timerクラスを使用する場合は、Windowsフォームアプリケーション内でSystem.Windows.Forms.Application.Runメソッドを使用してメッセージループを起動する必要があります。メッセージループを使用しないと、タイマーのElapsedイベントが発生しません。System.Threading.Timerクラスを使用する場合は、メッセージループを使用する必要はありません。