我希望迭代GroupBox控件并检查CheckBox
是否已选中。实际上我坚持这个:
For Each c In User.GroupBox3.Controls
If c.GetType.Name = "CheckBox" Then
If c.Checked = True ..?
End If
Next
如何看到我无法访问.Checked
财产,有人知道我该如何理解?
答案 0 :(得分:1)
关于Types
。 CheckBox
是一个类型,它继承自另一个类型的Control
。由于ControlsCollection
将项目保存为Control
,因此您必须转换为特定的类型才能访问更具体的属性和方法:
For Each c As Control In TabPage1.Controls
' check if it is the Type we are looking for
If TypeOf c Is CheckBox Then
' convert to desired type, do something
CType(c, CheckBox).Checked = True
End If
Next
CType
将Control
转换为CheckBox
。
For Each c As CheckBox In TabPage1.Controls.OfType(Of CheckBox)()
c.Checked = True
Next
此版本过滤到给定的类型,因此不需要强制转换。