この前、タイマーの親戚といえるストップウォッチを作成しました。

ストップウォッチ アプリをつくる方法

今回はタイマーを作ります。指定された時刻までの時間を表示してくれます。

まず

時刻を指定する
指定された時刻までの時間を計算する
これを表示する

これを繰り返して指定された時刻になったら音を鳴らすなどの方法でユーザーに知らせます。

原型はこれでよいと思います。ただショボすぎます。そこでデジタルで表示させます。

デジタルの画像はここからダウンロードしました。

デジタル数字イラスト – No: 1447903/無料イラストなら「イラストAC」

まずは0~9まで分解して、これをPictureBoxに読み込ませます。

フォームはこんな感じにしました。背景を黒にして、ピクチャーボックスにデジタルの数字を表示させます。

設定時刻は

pictureBoxSetHour1;
pictureBoxSetHour2;
pictureBoxSetMinute1;
pictureBoxSetMinute2;
pictureBoxSetSecond1;
pictureBoxSetSecond2;

残り時間は

pictureBoxRemainHour1;
pictureBoxRemainHour2;
pictureBoxRemainMinute1;
pictureBoxRemainMinute2;
pictureBoxRemainSecond1;
pictureBoxRemainSecond2;

現在時刻は

pictureBoxPresentHour1;
pictureBoxPresentHour2;
pictureBoxPresentMinute1;
pictureBoxPresentMinute2;
pictureBoxPresentSecond1;
pictureBoxPresentSecond2;

に表示させます。

表示させたい残り時間を文字列ではなく、一桁の整数に分解された数として表示させているだけです。

これは時間を設定するためのフォームを表示させるメソッドです。

そして時間を設定するためのフォームがこれです。時刻だけでなく残りの秒や分でも設定できるようにしています。

設定が終わったらアラームを鳴らす時刻がわかるので、それまでの時間をTimeSpan型のフィールド変数に保存しています。

1秒ごとにタイマーイベントが発生するので、現在時刻はそのまま表示させ、タイマーがセットされたらbool isUseをtrueにして残り時間をカウントしています。