目前,我有5个框都充满了复选框,当我要取消选择所有的人(一个“明确的选择”按钮),我用这个代码,我在论坛上找到:
For Each CheckBox In grpbox_Hiragana
CheckBox.checked = "false"
首先,我敢肯定,如果这是取消选择复选框以正确的方式,其次是“grpbox_Hiragana”组合框中返回以下错误:
表达的类型为“System.Windows.Forms.GroupBox”,这是不是一个集合类型
如果任何人都可以证实这一点是这样做的正确方法/帮告诉我,为什么组框将不被接受,将是巨大修正这个错误。
如果你有一个组中的所有复选框,使用此代码:
Dim ChkBox As CheckBox = Nothing
' to unchecked all
For Each xObject As Object In Me.GroupBox1.Controls
If TypeOf xObject Is CheckBox Then
ChkBox = xObject
ChkBox.Checked = False
End If
Next
' to checked all
For Each xObject As Object In Me.GroupBox1.Controls
If TypeOf xObject Is CheckBox Then
ChkBox = xObject
ChkBox.Checked = True
End If
Next
或者你可以使用CheckedListBox控件。
用较少的代码行甲替代方案是:
For Each ChkBox As CheckBox In GroupBox1.Controls
ChkBox.Checked = False
Next
顺便说一下你的代码会工作,如果你加入.controls
中, As CheckBox
只是能够智能感知(并确保它是唯一复选框的被处理)。