13.選択肢によって変わるメッセージ(その1)-イベント設定
 

今回は選択した項目によって違うメッセージが表示されるプログラムを作ってみましょう。

プロジェクト名は「SelectMes」としましょう。

まず次のフォームを作って下さい。

SelectMesのフォーム

ボタンとラジオボタン(オプションボタン)3つを設置します。コントロールの名前は以下の通りです。

  • ボタン:Name=cmdMes、Text=表示
  • ラジオボタン1つ目:Name=optMorning、Text=朝
  • ラジオボタン2つ目:Name=optNoon、Text=昼
  • ラジオボタン3つ目:Name=optNight、Text=夜

では、プログラムを書いていきましょう。今までのようにボタンをダブルクリックしてもよいのですが、今回は違う方法でプログラム入力画面に切り替えてみます。

画面右のソリューションエクスプローラで「Form.vb」を右クリックします。表示された「コードの表示」をクリックするとプログラム入力画面に切り替わります。以下のようなプログラムコードが表示されています。

Public Class Form1

End Class

ここにプログラムコードを追加していきます。 まずPublic Class Form1の下に以下を追加します。

 '朝・昼・晩のどれが選択されているかを番号で表す 朝-1、昼-2、夜-3
 Dim intChk As Integer = 1

さらにその下に、プログラムが起動してフォームが表示された時に「朝」が選択されているように設定します。
プログラムコードを記述する部分の上に2つコンボボックスが並んでいます。
左がコントロール選択用で右がコントロールに対するイベント選択用です。
イベントとは、「〜した時」発生する動作のことで、今までやってきた「ボタンをクリックした時」というのも、そのイベントの1つです。

今回はフォームが表示された時にイベントが発生ということで、まず左のコンボボックスで「Form」を選択し、次に右のコンボボックスで「Load」を選択します。
すると、以下のようなコードが追加されるはずです。

 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

 End Sub

この中に、フォームが開いた時のプログラムの動作を書き込みます。するとこんな感じになります。

 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  optMorning.Checked = True
 End Sub

optMorningのCheckedプロパティはラジオボタンが選択されているかいないかという情報を扱います。
Trueなら選択されている、Falseなら選択されていないとなるわけです。
これでフォームが表示された時は「朝」のラジオボタンが選択されます。

今回はここまでです。現在の状態でプログラムが以下のようになっていればOKです。

Public Class Form1

 '朝・昼・晩のどれが選択されているかを番号で表す 朝-1、昼-2、夜-3
 Dim intChk As Integer = 1

 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  optMorning.Checked = True
 End Sub

End Class

今回ご紹介したことのポイントは、

  • プログラム入力画面へ切り替えるには、ソリューションエクスプローラでプログラムを入力したいフォームを右クリックしメニューから「コードの表示」を選択する。(ちなみにフォームにコントロールを置く画面に切り替えたい場合は「デザイナの表示」を選択。)
  • プログラムコード入力部分の上部の2つのコンボボックスでイベントを設定できる。
  • ラジオボタンのCheckedプロパティで選択状態の切り替えができる。

以上です。

次回は、いよいよ選択されている項目によってメッセージを変える処理です。お楽しみに。