投稿者 るしぇ  (社会人) 投稿日時 2009/8/25 23:49:59
コンパイル時は、コードで指定された情報に頼るしかないですからね。
実行時にはチェックボックスが入っているとしても、コード上で
Control 型なら、コントロールに共通したメンバしか表示されません。
だからこそ、よねKEN さん御紹介の型変換のコードがあります。

逆にコンパイルを通すだけなら、
For Each ctr As Control In grpA.Controls
    If TypeOf ctr Is Button Then
        Dim chk As CheckBox = DirectCast(ctr, CheckBox)
    End If
Next 

でも通ります。
ボタンだったらチェックボックスにする。。。
こんなバカなコードもバカ正直に命令どおり実行してくれます。

。。。で、実行時エラーと。
そんな仕組みになってます。なので型を意識したコーディングが
必要になります。