※本ページ内のタイマーは、System.Timersのタイマーを対象としています。
Enabledプロパティ
C#でタイマーのEnabledプロパティについて。
Microsoftの公式ページには、Elapsedイベントを発生させる場合はtrue、それ以外の場合にはfalseとの記載があります。
要はプロパティ名通り、タイマーを有効にするか無効にするか、といった感じです。
Start/Stopメソッド
似たような使い道のメソッドとして、StartメソッドとStopメソッドがあります。
Microsoftの公式ページには、Enabledをtrueに設定して、Elapsedイベントの発生を開始します、との記載があります。
こちらのメソッドを使ってもEnabledプロパティをtrue/falseに変更しており、意味合い的にはメソッド名通りタイマーを開始するか停止するか、というものになります。
使い分けについて
どちらを使ってもタイマーの開始/停止ができるので、そこまで問題にならないかとは思いますが、
筆者の使い方としては、タイマーの生成時に最初から起動させたい場合はEnabledをtrueにして、生成直後に起動させたくない場合はEnabledをfalseを設定してタイマーの生成をするようにしています。
その後、メッセージ送受信やユーザー操作のイベントなどで、後からタイマーを開始/停止させたい場合にはStart/Stopメソッドを使うようにしています。
自分なりの基準を設けることで、後から見直した時に作成時の意図がよみがえりやすくなるかと思います。
コメント