【问题标题】:VB - Unchecking Check Boxes in a Group BoxVB - 取消选中组框中的复选框
【发布时间】:2014-10-16 19:10:59
【问题描述】:

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

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

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

表达式的类型是“System.Windows.Forms.GroupBox”,它不是集合类型

如果有人可以确认这是执行此操作的正确方法/通过告诉我为什么不接受 groupbox 来帮助修复错误,那就太好了。

【问题讨论】:

    标签: vb.net checkbox groupbox


    【解决方案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控件。

    【讨论】:

    • 这是我希望得到的那种代码。它完美地工作,非常明确的帮助!谢谢:D
    【解决方案2】:

    代码行数更少的替代方法是:

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

    顺便说一句,如果您添加了.controls,您的代码将可以工作,As CheckBox 只是启用智能感知(并确保只处理复选框)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-28
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多