第2章-2 CheckBox、RadioButtonの使い方

今回はサンプルとしては次のようなものを作ります。これはチェックボックスのチェックをつけたり、はずしたり すると、それにあわせて下のスタティクテキストの表示内容が変わります。

また、ラジオボタンをチェックするとその選択されている内容にあわせてその下のスタティックテキストの表示 内容が変わります。特に、ラジオボタンはグループボックスというコントロールでグループ化されています。
ラジオボタンはほとんどの場合複数の選択肢の中から1つだけを選択する為に用いられますので、サンプルの場合、 片方が選択されるともう片方のチェックがはずれます。これは、別にプログラムで制御しているわけではなくコント ロールが最初からもっている機能なのです。
楽ちん楽ちん(^_^)

check1

最初にチェックボックスです。チェックボックスがツールウィンドゥの中の赤丸で囲んであるやつがそうです。 これをドラッグ&ドロップでWindow1に配置します。

check2

プロパティは次のように設定します。チェックボックスの右側に表示するテキストはCaptionプロパティ に設定します。また、一番下のValueプロパティには初期的にチェックをつけるかどうかが設定できます。 これをチェックしておくと起動したときにデフォルトでチェックボックスはチェックされた状態になります。今回は これは外しておきます。でも、プログラム上で初期値を設定する処理を書いてみます。
じゃないとコードが少なくてつまらないので(^_^;)

check3

次にラジオボタンです。ラジオボタンはツールウィンドゥの赤丸のところからドラッグ&ドロップでWindow1に 配置します。今回は2つ配置します。次に、これをグループボックスで囲みます。グループボックスは青丸で囲んで あるものです。配置した後に大きさを調整して2つのラジオボタンが中に収まるように上手に調整して下さい。これ で2つのラジオボタンがグループ化されたことになります。同じWindow上に別のグループを同時に作るこ ともできます。チェックの有無はそのグループ内で調整されます。

check4

プロパティは次のように設定します。2つともCaptionNameプロパティが違うだけなので例 として1つだけ載せます。ラジオボタンの右側に表示したい内容はCaptionプロパティに設定します。 一番最後にあるValueプロパティはチェックボックスの時と同じようにチェックしないでおいておきます。 もう1つのラジオボタンのプロパティも同様に設定します。Nameプロパティがデフォルトのままですからね。 (もちおろん変更してもかまいません。でも、そしたらコードも変更して下さいね)

check5

グループボックスのプロパティは次のよう設定します。といってもCaptionプロパティ以外は変えてません。

check6

スタティックテキストが2カ所赤字で表示されるようになっていますが説明は省略します、以前の記事を参考にして 下さい。(無責任!!σ(^_^;))
さて、次からはコードの記述です。まず、初期化処理を書きます。初期化する内容としては

1.チェックボックスがチェックされていない状態にする
2.ラジオボタンが"iMac"を選択した状態にする

の2点です。書く場所はWindow1Openイベントハンドラです。プロジェクトウィンドゥで Window1を選択してoption+tabでコードエディタを起動し、イベントの中の Openを選択します。コードは次のように書きます。


'チェックボックスのValueプロパティFalseに
'します。こうするとチェックボックスは初期的に
'チェックをはずされた状態になります。
CheckBox1.Value = False

'2つのラジオボタンのうち一方をTrueにもう一方を
'Falseにします。Trueにしたラジオボタンだけが
'初期的にチェックされた状態になります。

RadioButton1.Value = True
RadioButton2.Value = False
			

次に、チェックボックスがチェックされたときの処理です。コードを書く場所はWindow1コントロールの中のCheckBox1Actionイベントハンドラです。 Window1を選択してoption+tabでコードエディタを起動し、コントロールの中の CheckBox1を選択します。この中のActionイベントハンドラに次のように記述します。


'チェックボックスが操作された場合のいべんとハンドラです
'もし、ValueプロパティがTrueならばそのチェックボックスが
'チェックされています。そうでなければチェックがはずされて
'います

if CheckBox1.Value = True then
    StaticText2.Text="おや、チェックしましたね。"
else
    StaticText2.Text="おや、チェックをはずしましたね"
end if
			

以上で、チェックボックスの処理は終わりです。次にラジオボタンに関する処理ですが、チェックボックスと ほとんど同じです。初期化処理はチェックボックスと一緒に済んでいますので、チェックされた時の処理を書 きます。
コードを書く場所はWindow1コントロールの中のRadioButton1RadioButton2Actionイベントハンドラです。 Window1を選択してoption+tabでコードエディタを起動し、コントロールの中の RadioButton1を選択します。この中のActionイベントハンドラに次のように記述します


'ラジオボタンがチェックされたらそれにあった内容をスタ
'ティックテキスト表示します。

if RadioButton1.Value = True then
    StaticText3.Text = "iMacがお好きなんですね"
end if
			

RadioButton2にも同様の場所に次のように書きます。


'ラジオボタンがチェックされたらそれにあった内容をスタ
'ティックテキスト表示します。

if RadioButton2.Value = True then
    StaticText3.Text = "ThinkPadがお好きなんですね"
end if
			

以上で、終わりです。動かしてみて下さい。ラジオボタンのチェックを外す処理は書いていないのにちゃんと 片方だけが選択されるようになったでしょ。

目次に戻る