C#入門 最簡単プログラミング5 timerの使い方
C#入門の最簡単プログラミングの5回目はtimerです。このあたりからちょっと難しくなるので自身のない方は以前のコードも復習しておいてください。
それでは始めましょう
1 timerとは
計測器の制御をやる場合一定時間で測定を繰りかすケースがほとんどです。この場合はtimer機能を使います。timer機能をONにするとtimer関数に書かれている命令が一定時間ごとに繰り返されます。
プログラムにタイマーを追加する場合は、まずデザイナー画面でツールボックスのコンポーネント内にあるTimerをフォームにドラッグアンドドロップします。
デザイナーの下部にTimerが表示されてTimer1と自動で名前が付きます。Timer1をダブルクリックすると画面がエディタに切り替わり、カーソルがprivate void timer1_Tick(object sender, EventArgs e)の下に移動しますので、一定時間に行いたい命令を書きます。
例えば
private void timer1_Tick(object sender, EventArgs e) { label1.Text = DateTime.Now.ToString(); }
のように書くと一定時間にlabel1に現在時刻が表示されます。DateTime.Now()は現在時刻を出力する関数です。
次にTimerが起動するトリガーをbutton1_Clickの中に書きます。
private void button1_Click(object sender, EventArgs e) { timer1.Interval = 5000; //ミリ秒で書ます timer1.Enabled = true; }
timer1.Intervalはtimer1_Tickの中の命令を実行する間隔です。ミリ秒で指定します。timer1.Enableをtrue(真)にするとTimerの動作が開始します。
2 サンプルコードの実行
デザイナー画面でボタンをダブルクリックし、カーソルが移動するbutton1_Clickと、Timerをダブルクリックしカーソルが移動するtimer1_Tickの中にそれぞれ以下のコードを書きます。
private void button1_Click(object sender, EventArgs e) { timer1.Interval = 5000; timer1.Enabled = true; } private void timer1_Tick(object sender, EventArgs e) { label1.Text = DateTime.Now.ToString(); }
追加できたら開始ボタンを押してプログラムを実行します。
これはもうデジタル時計ですね。Timer1.Intervalの数値を変えると更新時間を変えることができます。またTimer1.Intervalの値はTimer要素のプロパティに事前に書き込むことができます。
3 まとめ
Timerの使い方は他の要素とは少し感覚が異なるので、よく理解するには何度か練習が必要かもしれません。数値を変えていろいろと試してください。
おまけ
上のサンプルプログラムではTimerを動かすことしかできませんでしたが、次のように書けばボタンを押すたびにTimerをON、OFFすることができます。
private void button1_Click(object sender, EventArgs e) { timer1.Interval = 5000; if (timer1.Enabled == false) { timer1.Enabled = true; } else { timer1.Enabled = false; } }
関連記事