【VB.Net】タイマーでラーメンタイマーを作ってみる

どうも!リョクちゃです。

今回は、前回記事にしたタイマーを使って、

ラーメンタイマーを作ってみようと思います。

ちなみに前回はこちら

Windowsフォームアプリケーションには、タイマーと呼ばれるコントロールがあります。これは指定した間隔が経過した際にイベントを発生させることができます。このイベント内にコードを書くことで指定した間隔おきにコードを実行させることができます。今回は例を交えて使い方を紹介しています。



ラーメンタイマーの機能

今回作成するラーメンタイマーの機能としては、

以下を行えるものとします。

  • 時間の設定ができる
    1分、3分、5分、10分
  • 時間を選んだら残り時間と記述されたボックスにSetされる
  • ボタンを押したら選んだ時間からカウントダウンしていく
  • 残り時間が0:00になったらメッセージボックスに”タイマー終了”と表示させる

Windowsフォームアプリケーションの作成

まずは、下のようなフォーム画面を作成します。

※ タイマーも配置しておきましょう。

Label2と表示されているLabelは、実際はテキストには何も入力しません。

ちなみに筆者の環境は、

  • VisualStudio2019
  • Windows 10 64bit
  • .Net Framework 4.5.2

です。

コンボボックスに時刻を追加する

まず、画面をロードする際に、コンボボックスに時刻を追加していきます。

コンボボックスにアイテムを追加するには、

ComboBox.Items.Add(“追加したい内容”)

でできます。

また、画面ロードはWindowsフォームデザイナでFormを選択した後

ダブルクリックで自動生成されます。

ここまでのコードは下のようになります。

実行して確認してみましょう。

このように出れば、成功です。

タイマーが選択されたら残り時間に反映する

次に、タイマーを選択したら残り時間に反映できるようにしていきます。

これを行うには、コンボボックスのイベントを使います。

ComboBox.SelectedIndexChanged

コードは下のようになります。

タイマーを選択して、表示がされるか確認してみましょう。

下図のようになれば、成功です。


ボタンが押されたらカウントダウンを始める

次にボタンを押したら選択したタイマからカウントダウンを始めるコードを書いていきます。

ボタンを押したらについては、ボタンイベントを使用します。

Button.Click

コードは下のようになります。

ボタンのイベント内にカウントダウンを始めるコードを書いていきます。

カウントダウンを始めるには、前回の記事で学んだタイマーをスタートさせます。

スタートさせる前には、タイマーの間隔を設定します。

今回は、1000ミリ秒で行います。

タイマーの間隔の設定は、

Timer.Interval = “任意の間隔”

で設定ができます。

スタートさせるには、

Timer.Start()

コードは下のようになります。

ここで、ボタンを押してタイマーをスタートさせてしまうと

たとえば、タイマが選ばれず残り時間が表示されていない場合にエラーとなってしまいます。

そこで、残り時間に表示がされているかどうかをチェックするコードを付け足します

コードは下のようになります。



タイマーのイベントを書く

タイマーをスタートさせたら、任意間隔おきに発生するイベントを書きます。

これを書くことで、カウントダウンを行わせます。

任意間隔おきに発生するイベントは、

Timer.Tick

になります。

実際にコードは下のようになります。

あとは、前回の記事で書いたカウントダウンのコードを当てはめていくだけです。

実際に書いたコードがこちら

ここまでで時刻を選んで時刻をカウントダウンすることができました。

スポンサーリンク




タイマー終了通知を書く

最後に、カウントダウンが終了したらメッセージボックスを表示するコードを書き足します。

メッセージボックスは、

MessageBox.Show()

で表示させることができます。

コードは下のようになります。

これで一通りの機能を満たすことができました。

実行して、メッセージボックスが表示されるか確認してみましょう。

下図のように表示がされていれば成功です。

おわり

お疲れ様です。

今回は、前回の記事で紹介したタイマーやこれまで紹介した内容を使って

簡単なアプリケーションを作ってみました。

組み合わせることで色々なモノを作ることができるので、

色々試していただければなと思います。

ご覧いただきありがとうございます。

・こちらの書籍を参考にVB.Net勉強しています。

スポンサーリンク