VB2005です。

groupboxの中にcheckboxを複数とテキストボックスを複数、配置しています。
このcheckboxのいずれかにcheckが入っているかどうかを検出したいのです。
If checkbox1.checked = true ...ではなく
For Each oCon As Control In Me.GroupBox1.Controls
 の中で行いたいのです。
oConがcheckboxなのかは oCon.name.containsで判断しているのですが、このままでは、oCon.checked とは書くことができません。
どのようにしたら良いでしょうか。

回答の条件
  • 1人3回まで
  • 登録:2007/06/20 18:25:52
  • 終了:2007/06/20 18:58:07

回答(1件)

id:mj99 No.1

mj99回答回数138ベストアンサー獲得回数382007/06/20 18:51:32

ポイント60pt

代入するか

    Dim oCon As Control
    Dim oChk As CheckBox
    For Each oCon As Control In Me.GroupBox1.Controls
        If (TypeOf oCon Is CheckBox) Then
            oChk = oCon
            MsgBox(oChk.Checked)
        End If
    Next


キャストするか

    Dim oCon As Control
    For Each oCon As Control In Me.GroupBox1.Controls
        If (TypeOf oCon Is CheckBox) Then
            MsgBox(DirectCast(oCon, CheckBox).Checked)
        End If
    Next
id:td700

ナイスな回答をありがとうございました。

2007/06/20 18:57:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません