読者です 読者をやめる 読者になる 読者になる

C#_Forms.Timer の使い方

Windows.Forms.Timer の使い方。

用途は、
ループが完了するまで特定の間隔で実行するプロシージャ( 処理 )などを
作成したい時に使用。

Timer は 3 種類ある。

  精度  同期 / 非同期  Windowdフォームでの利用 
Windows.Forms.Timer  低  同期  ○
Threading.Timer    非同期  ×
Timers.Timer  高  非同期  ○

Windows.Forms.Timer は、別スレッドから呼ぶと動かない。
Main フォーム(UI)を操作できるのはメインスレッドのみ。

 

Timer を使用するのに必要なメソッド・プロパティ

Tick イベントハンドラ:Timer が発生すると呼び出される

Interval プロパティ:Tick イベントハンドラが呼び出される間隔

Enabled プロパティ:true でタイマー有効( 開始 )。false で無効

 

使い方

※前提:ツールボックスから Timer を設置していること。

1) Tick イベントハンドラで処理を書く。

2) Interval プロパティで Tick イベントが発生する周期 ( 間隔 )を設定
    単位はミリ秒(1000m = 1s)

3) Enabled プロパティ を true にするとTimer が有効になり、
Tick イベントの発生が開始され、指定された間隔で処理が実行される。

interval [ 可算名詞 ]:間隔、合間。休憩時間
ミリ:単位の千分の一に当たる意を表す語。記号;m
enabled:使用可能
tick:時計などのチクタク音。瞬間。

 

ex) 1秒ごと Tick イベントを発生させて、発生した回数をカウント。
button 1 で Timer 開始。button 2 で終了。timer1 を設置。

        //Timer 開始
        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Interval = 1000;
            timer1.Enabled = true;
        }

        //Timer 終了
        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
        }

        private int count = 0;
        //Tikcイベント。Timer が有効な間 1 秒間隔で呼ばれる
        private void timer1_Tick(object sender, EventArgs e)
        {
            label1.Text = count.ToString("00");
            ++count;
        }

 Start() Stop() 関数でも Timer の有効 / 無効 を設定できるが、
この関数の中ではEnable プロパティをTrue / False しているだけ。

 

こちらから参照と引用。
https://garafu.blogspot.jp/2015/01/c-timer.html
https://techracho.bpsinc.jp/baba/2009_02_10/161
https://msdn.microsoft.com/ja-jp/library/3tszykws(v=vs.110).aspx
http://wa3.i-3-i.info/word11597.html
http://blog.syo-ko.com/?eid=1542

以上。