我开始循环动态创建的Checkbox:
For Each cntrl As Control In Me.Controls
If TypeOf cntrl Is CheckBox Then
If (cntrl As CheckBox).Checked Then
'Do Something
End If
End If
Next
...但我不知道我需要什么而不是这一行:
If (cntrl As CheckBox).Checked Then
...这只是一个猜测而且无法编译。
答案 0 :(得分:3)
使用LInQ可以为您节省一些代码:
Sub Test()
Dim myList as New List(Of CheckBox)
For Each cbox As CheckBox In Me.Controls.OfType(Of CheckBox).Where(Function(cb) cb.Checked)
myList.Add(cbox)
Next
Msgbox(String.Format("{0} checkboxes were checked!", myList.Count))
End Sub
答案 1 :(得分:2)
我认为你想要做的是:
If DirectCast(cntrl, CheckBox).Checked = True Then
答案 2 :(得分:2)
我会这样做:
Dim con As Checkbox
For Each con In Me.Controls
If con.Checked = True
'Do Something
End If
Next