如何检查是否选中了动态创建的复选框 (VB.NET)?
How can I check whether dynamically-created Checkboxes are checked (VB.NET)?
我开始循环动态创建的复选框:
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
...这只是一个猜测,无法编译。
我想你想做的是:
If DirectCast(cntrl, CheckBox).Checked = True Then
使用 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
我会这样做:
Dim con As Checkbox
For Each con In Me.Controls
If con.Checked = True
'Do Something
End If
Next
我开始循环动态创建的复选框:
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
...这只是一个猜测,无法编译。
我想你想做的是:
If DirectCast(cntrl, CheckBox).Checked = True Then
使用 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
我会这样做:
Dim con As Checkbox
For Each con In Me.Controls
If con.Checked = True
'Do Something
End If
Next