我有一个带有1个文本框和一个按钮的user_control。我希望以这种方式覆盖控件的Enabled属性,保持按钮始终启用,并且控件的启用/禁用仅影响文本框。
我如何存档? 提前谢谢。
编辑:我认为我的问题可能不太明确。实际上我已经覆盖了Enabled属性,如下所示,
Private m_Enabled As Boolean
Public Overloads Property Enabled() As Boolean
Get
Return m_Enabled
End Get
Set(ByVal value As Boolean)
Button1.Enabled = True
TextBox1.Enabled = value
m_Enabled = value
End Set
End Property
我在Panel1中放置了这个用户控件和其他一些文本框。我尝试逐个循环控制并禁用它。
For Each panelControl As Control In Panel1.Controls
panelControl.Enabled = False
Next panelControl
在这种情况下,此启用的属性从未调用过。 (整个控件被禁用/启用)
有人可以帮助我吗?
答案 0 :(得分:1)
问题在于您的演员:For Each panelControl As Control
,它将使用控件的启用属性,而不是您的重载。
尝试转换:
For Each ctrl As UserControl1 In Panel2.Controls.OfType(Of UserControl1)()
ctrl.Enabled = False
Next