清除VB.NET中的复选框

时间:2011-03-18 00:11:15

标签: vb.net visual-studio-2010 vb.net-2010

我正在为Uni做任务,在我的VB.NET表单中我有一些复选框,我正在尝试循环并清除它们(我有一个按钮可以清除表单)

我的问题是,当没有明确告诉VB我要使用哪个复选框时,似乎没有可用于设置复选框状态的属性。例如,我可以去

WineCheckBox.Checked = False

那将检查该框,但是我想要将代码干掉一点而不必为我的每个复选框重复这个,这就是我想要做的事情:

If TypeOf element Is CheckBox Then
    element.Checked = False
End If

我尝试过使用element.CheckStateelement.Checked,两次都得到“Checked(或CheckState)不是System.Windows.Forms.Control的成员”

我已经查看了我可以找到的所有属性,但这些属性对我来说似乎都没用......

我错过了什么吗?或者这是不可能的

由于

编辑:

这是整个代码块:

'clear the controls
    For Each element As Control In Me.Controls
        If TypeOf element Is TextBox Then
            element.Text = ""
        End If
        If TypeOf element Is CheckBox Then
            element.Checked = False
        End If
    Next

2 个答案:

答案 0 :(得分:8)

您宣布element为什么类型?如果它只是Control,那么这是CheckBox的基本类型,它没有checked属性。也许试试:

If TypeOf element Is CheckBox Then
    DirectCast(element,CheckBox).checked = False
End If

答案 1 :(得分:2)

怎么样:

   For Each element As Control In Me.Controls
        If TypeOf element Is TextBox Then
            element.Text = ""
        End If
        If TypeOf element Is CheckBox Then
            Dim chk As CheckBox = CType(element, CheckBox)
            chk.Checked = False
        End If
    Next