我正在运行Visual Studio 2015的社区版。
我正在尝试使用Me.Controls...CheckState = CheckState.Unchecked
动态更改动态创建的复选框的CheckState属性,但我收到编译时错误,指出CheckState不是控件的成员。
我在下面显示了用于创建复选框的代码,并在底部显示了我试图用来更改值的代码。我很感激任何建议。
cbPDF.Location = New Point(710, tvposition)
cbPDF.Size = New Size(80, 20)
cbPDF.Name = "cbPDF" + panposition.ToString
cbPDF.Text = "PDF Conv"
cbPDF.CheckState = CheckState.Unchecked
Controls.Add(cbPDF)
AddHandler cbPDF.CheckedChanged, AddressOf Me.CommonCheck
arrTextVals(10, panposition) = "cbPDF" + panposition.ToString
arrTextVals(11, panposition) = "unchecked"
If arrTextVals(11, bottomLine) = "unchecked" Then
Me.Controls(arrTextVals(10, bottomLine)).CheckState = CheckState.Unchecked
Else
Me.Controls(arrTextVals(10, bottomLine)).CheckState = CheckState.Checked
End If
答案 0 :(得分:1)
这一行试图在没有该属性的通用控制对象上设置CheckState。
Me.Controls(arrTextVals(10, bottomLine)).CheckState = CheckState.Unchecked
您需要将其强制转换为复选框才能设置此属性(您需要确保它实际上是一个复选框,否则会产生运行时错误):
DirectCast(Me.Controls(arrTextVals(10, bottomLine)), CheckBox).CheckState = CheckState.Unchecked
或长手以便阅读:
Dim ctl As Control = Me.Controls(arrTextVals(10, bottomLine))
Dim chk As CheckBox = DirectCast(ctl, CheckBox)
chk.CheckState = CheckState.Unchecked