2008年06月04日

複数の項目をチェックできるようにする。

条件を指定する際などに、複数の項目を選択したい場合があります。

「一つの項目をチェックできるようにする。」の場合ですと、一つの項目しか選択できませんが、CheckBoxコントロールを使用することで、複数選択することが可能となります。

sample017-1.jpg
クリックすると拡大します。

>>>


>>>

ボタンをクリックすると、チェックボックスにチェックの入っている項目名を、ラベルに表示します。

sample017-1.jpg
クリックすると拡大します。

「一つの項目をチェックできるようにする。」と同様に、GropuBox内をFor〜Nextで検索し、項目名を取得します。


<コード>
========================================
Public Class Form1

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'チェックボックス型を宣言します。
    Dim chk As CheckBox

    '項目名を格納するStringBuilderを宣言します。
    Dim str As New System.Text.StringBuilder

    'For〜Next文で、GroupBox1内のコントロールを検索し
    'チェックボックスをチェックします。
    For Each chk In GroupBox1.Controls

      'チェックされていれば、項目名を追加します。
      If chk.Checked = True Then
        str.Append(chk.Name & ControlChars.NewLine)
      End If

    Next

    'labelに項目名を表示させます。
    Label1.Text = str.ToString

  End Sub
End Class
========================================

結果は以下の通りです。
sample017-2.jpg
クリックすると拡大します。

※For〜Next文でコントロールを検索し、項目名を取得すると、上図のようにCheckBox1から取得してくれないことが分かりました。
 コントロールを配置する順番、TabIndexなどを変更してみましたが、この順番が変わることはありませんでした。
 CheckBox1から取得したいと思われる場合は、For〜Nextで検索せず、一つ一つチェックしていく方法を取る必要があるようです。
 なお、この現象については、まだ調査中です。



この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。