条件分岐
条件分岐とは条件により実行するかしないかを決める命令です。最初に作成したハローワールドを再利用しましょう。その前にプロジェクトを保存しておくのもよいかもしれません。
ファイル→全てを保存
を選択してください。プロジェクトが保存されましたか?それではさっそく条件分岐を試すまえにラジオボタンを設置します。ボタンを設置してみたときと同様にRadioButtonを選択し、フォーム上でDragします。プロパティウィンドウのText上でラジオボタン1と入力し、リターンキーを押します。一つでは寂しいので、もう一つ同様に配置します。ここではプロパティウィンドウのText上でラジオボタン2と入力し、リターンキーを押します。これでオブジェクトName=RadioButton1はラジオボタン1とName=RadioButton2はラジオボタン2と準備されました。やっとプログラムを書く準備ができました。If節の命令を見てみましょう。
If condition
[ Then ]
[ statements
]
[ ElseIf
elseifcondition [ Then ]
[
elseifstatements ] ]
[ Else
[
elsestatements ] ]
End If
上記はIf 命令です。つまり
If 条件1 then
条件1がTrueのときに実行されるべき命令
elseif 条件2 then
条件2がTrueのときに実行されるべき命令
else
その他の条件のときに実行されるべき命令
end if
です。ここではラジオボタン1が選択されているときにメッセージボックスでラジオボタン1が選択されていますと表示し、ラジオボタン2が選択されているときにメッセージボックスでラジオボタン2が選択されていますと表示し、何もラジオボタンが選択されていないときにメッセージボックスで何も選択されていませんと表示してみましょう。以前のハローワールドではボタンをクリックしたときには
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickMsgBox("ハローワールド", MsgBoxStyle.OKOnly, "ハローワールドタイトル")
End Subのプログラムがそのまま実行されていました。今度は
MsgBox("ハローワールド", MsgBoxStyle.OKOnly, "ハローワールドタイトル")
が要りませんので削除してください。ラジオボタンが選択されているときには
(ObjectName).Checkedの値がTrueになり、選択されていない場合にはFalseになります。
よって
If RadioButton1.Checked = True Thenラジオボタン1が選択されている場合の命令
となります。これを手がかりにプログラムを書いてみましょう。
プログラムはこんな感じになるはずです。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If RadioButton1.Checked = True ThenMsgBox("チェックボックス1が選択されています。")
ElseIf RadioButton2.Checked = True ThenMsgBox("チェックボックス2が選択されています。")
ElseMsgBox("何もチェックボックスが選択されていません。")
End If End Subうまく動きましたか?