簡體   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