我是一位经验丰富的C/C++/C#程序员,刚刚进入VB.NET.我通常使用CType(和CInt,CBool,CStr)进行演员表示,因为它是较少的字符,并且是我接触的第一种投射方式,但我也知道DirectCast和TryCast.
简单来说,DirectCast和CType之间是否有任何差异(演员,表演等的影响)?我理解TryCast的想法.
我正在为Uni做任务,在我的VB.NET表单中我有一些复选框,我正在尝试循环并清除它们(我有一个按钮,它将清除表单)
我的问题是,当没有明确告诉VB我想要使用哪个复选框时,似乎没有可用于设置复选框状态的属性.例如,我可以去
WineCheckBox.Checked = False
Run Code Online (Sandbox Code Playgroud)
这将检查框,但我的魔杖干扰代码,而不必为我的每个复选框重复这个,这是我试图做的:
If TypeOf element Is CheckBox Then
element.Checked = False
End If
Run Code Online (Sandbox Code Playgroud)
我尝试过使用element.CheckState并且element.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
Run Code Online (Sandbox Code Playgroud)