VB - 在组框取消勾选复选框(VB - Unchecking Check Boxes in a

2019-10-19 05:02发布

目前,我有5个框都充满了复选框,当我要取消选择所有的人(一个“明确的选择”按钮),我用这个代码,我在论坛上找到:

For Each CheckBox In grpbox_Hiragana
        CheckBox.checked = "false"

首先,我敢肯定,如果这是取消选择复选框以正确的方式,其次是“grpbox_Hiragana”组合框中返回以下错误:

表达的类型为“System.Windows.Forms.GroupBox”,这是不是一个集合类型

如果任何人都可以证实这一点是这样做的正确方法/帮告诉我,为什么组框将不被接受,将是巨大修正这个错误。

Answer 1:

如果你有一个组中的所有复选框,使用此代码:

    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控件。



Answer 2:

用较少的代码行甲替代方案是:

 For Each ChkBox As CheckBox In GroupBox1.Controls
    ChkBox.Checked = False
 Next

顺便说一下你的代码会工作,如果你加入.controls中, As CheckBox只是能够智能感知(并确保它是唯一复选框的被处理)。



文章来源: VB - Unchecking Check Boxes in a Group Box