みなさんこんにちは、ソラです。
こんな悩みを解消していきます。
本記事の内容
- VB.netのチェックボックスの配置方法
- VB.netのチェックボックスのイベント処理
- VB.netのチェックボックスイベント解除と発生方法
本記事ではVB.netのチェックボックス配置方法とイベント処理についてまとめていきます。
VB.netでGUIを作成する際、必ずと言ってよいほど使用されるコントロールの1つ、チェックボックス。
触りだけでも覚えておくと、いざ開発を行うとき非常に便利です。
-
参考Visual Studio 2019 Communityのインストール方法【個人開発向け】
目次
チェックボックスの配置方法
まずはチェックボックスの配置方法です。
Visual Studioを開いたら、ツールボックスから「CheckBox」を選択してフォームに張り付けましょう。
上写真のように、今回は3つチェックボックスを配置してみましょう。
チェックボックスのテキスト変更
次にチェックボックスのテキストを変更していきます。
フォームをダブルクリックして、Loadプロシージャを開きます。
そこで下記コードを書いて実行してみましょう。
'// チェックボックスのテキスト変更
CheckBox1.Text = "VB.net"
CheckBox2.Text = "Python"
CheckBox3.Text = "JavaScript"
実行後、下写真のようにテキストが変更されていればOKです。
チェックボックスのチェック状態変更
次にチェックボックスのチェック状態を変更していきます。
チェック状態の変更はCheckedプロパティを使用します。
'// チェック状態の変更
CheckBox1.Checked = True
CheckBox2.Checked = False
CheckBox3.Checked = True
プログラムを実行してみましょう。
下写真のように、VB.netとJavaScriptにチェックが入っていればOKです。
チェックボックスのイベント処理
次にチェックボックスで非常に大事なイベント処理についてまとめていきます。
VB.netのチェックボックスのイベント処理は主に2パターンの方法で行われることが多いです。
チェックボックスのイベント処理方法
- CheckedChangedでの実装
- Clickでの実装
1つずつ解説していきますね。
CheckedChangedでの実装
1つはCheckedChangedでの実装方法です。
下写真のように、CheckBox1をクリックしてイベントの”CheckedChanged"をダブルクリックしてプロシージャを開きましょう。
プロシージャの中身は下記のように書きます。
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = True Then
MsgBox("CheckBox1にチェックがつきました")
Else
MsgBox("CheckBox1のチェックが外れました")
End If
End Sub
プログラムを実行してみましょう。
すると、画面より先に”CheckBox1にチェックがつきました”というメッセージが表示されるはずです。
その後、画面でCheckBox1(VB.net)をクリックするたびにメッセージが切り替わる仕組みになっています。
Clickでの実装
もう1つはClickでの実装方法です。
下写真のように、CheckBox2をクリックしてイベントの”Click"をダブルクリックしてプロシージャを開きましょう。
プロシージャの中身は下記のように書きます。
Private Sub CheckBox2_Click(sender As Object, e As EventArgs) Handles CheckBox2.Click
If CheckBox2.Checked = True Then
MsgBox("CheckBox2にチェックがつきました")
Else
MsgBox("CheckBox2のチェックが外れました")
End If
End Sub
コードの中身自体はほぼ変わりません。
ですが、実行するとCheckedChangedのように最初にメッセージが表示されません。
Clickイベントは名の通り、クリックした時のみ処理が行われます。
< まずはプログラミング無料体験レッスンから >
CheckedChangedのイベント解除と発生方法
実はCheckedChangedはClick処理とは違い、チェック状態が変更された場合に処理が行われるのです。
今回のプログラムでは、ロード時にCheckBox1を故意的にTrueに設定していますよね。
そこで変更されたという認識になり、CheckedChanged処理が最初に行われメッセージが表示されたのです。
しかし、初期状態でメッセージの表示は想定していません。
そこでここではCheckedChangedのイベント解除と発生方法についてまとめていきます。
まずは下記コードをロードプロシージャの中身と書き換えてください。
'// イベント解除
RemoveHandler CheckBox1.CheckedChanged, AddressOf Me.CheckBox1_CheckedChanged
'// チェックボックスのテキスト変更
CheckBox1.Text = "VB.net"
CheckBox2.Text = "Python"
CheckBox3.Text = "JavaScript"
'// チェック状態の変更
CheckBox1.Checked = True
CheckBox2.Checked = False
CheckBox3.Checked = True
'// イベント発生
AddHandler CheckBox1.CheckedChanged, AddressOf Me.CheckBox1_CheckedChanged
実行してみると、最初にメッセージが表示されなくなったはずです。
使い方としては、イベントをスキップしたい部分を挟むように、解除と発生処理を書くことです。
イベントの解除・発生の違いは下記部分です。
ポイント
・イベント解除 → RemoveHandler
・イベント発生 → AddHandler
解除と発生は対の関係ですので、1セットで使用することを心掛けましょう。
まとめ:【VB.net】チェックボックス
チェックボックスはイベント処理が非常に大切で厄介なコントロールです。
特にCheckedChangedはイベント解除・発生を忘れることが多々あるため、エラーやミスにつながりやすい部分でもあります。
本記事で基礎をしっかり身に付けて開発に取り組んでみましょう。
合わせて読みたい記事
-
【VB.net】ボタンの配置方法とクリックイベント処理の実装