タイマーの実装方式の種類について紹介します。
C# (Windows) で一定時間ごとに処理をするタイマー処理を実装する場合、何通りかの実装方法があります。この記事ではタイマー処理の実装方法の種類をまとめて紹介します。
Windows Formのアプリケーションではタイマーコントロールを利用してタイマー処理を実現できます。簡単に実装できコードもシンプルで見やすいです。高精度のタイマーではありません。
Windows Formアプリケーションでタイマーコントロールを利用する方法については「一定間隔で処理を実行する - タイマーの利用」を参照してください。
タイマーコントロールが利用できない場合などでは、直接Windows APIのタイマー処理の関数を呼び出すことでタイマー処理を実現できます。SetTimer Windows APIを利用するとターゲットのウィンドウにWM_TIMERウィンドウメッセージが一定間隔で送信されますので、ウィンドウメッセージに対応する処理を実装してタイマー処理を実現できます。
SetTimer Windows APIを利用する方法は「SetTimer Windows APIを利用してタイマーを実装する」を参照してください。
SetTimer Windows APIを利用してタイマーコンポーネントを作成する場合は
SetTimer Windows APIはウィンドウにウィンドウメッセージを送信する仕組みのためOSの負荷などの状況により、メッセージ送信に遅れなどが出る場合があり、精度が高くない仕組みです。TimeSetEvent Windows APIを利用すると、高精度のタイマーを実現できます。
TimeSetEvent Windows APIを利用した実装方法は「timeSetEvent Windows APIを利用した高精度タイマーのコードと実行結果」を参照してください。
TimeSetEvent Windows APIを利用してタイマーコンポーネントを作成する方法は「timeSetEvent Windows APIを利用した高精度タイマーコンポーネントの作成」を参照してください。