繁体   English   中英

如何检查是否选中了动态创建的复选框(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

...这只是猜测,无法编译。

使用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

我认为您想做的是:

If DirectCast(cntrl, CheckBox).Checked = True Then

我会这样做:

Dim con As Checkbox
For Each con In Me.Controls
   If con.Checked = True
      'Do Something
   End If
Next

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM