VB - 取消选中组框中的复选框

时间:2014-01-11 09:59:53

标签: vb.net checkbox groupbox

目前我有5个组合框都填充了复选框,当我想取消所有选项时(对于“清除选择”按钮),我使用我在论坛上找到的代码:

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

首先,我确定这是否是取消选中复选框的正确方法,其次“grpbox_Hiragana”组框会返回以下错误:

  

Expression的类型为'System.Windows.Forms.GroupBox',它不是集合类型

如果有人能够确认这是正确的做法/帮助修复错误,告诉我为什么不接受组合框会很好。

2 个答案:

答案 0 :(得分: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 控制。

答案 1 :(得分:0)

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

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

顺便提一下,如果您添加了.controls,那么您的代码就会有用,As CheckBox只会启用智能感知(并且还会确保它只是处理过的Checkbox)。