我正在尝试创建一个继承的控件。 我为这个名为“Flickering”的控件创建了一个布尔公共属性,以启用/禁用控件上的闪烁效果。
然后我想要的是仅在启用“闪烁”属性时“打开”下一个可覆盖的属性,但我不知道如何执行此操作:
Protected Overrides ReadOnly Property CreateParams() As CreateParams
If Disable_Flickering = True Then
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or &H2000000
Return cp
End Get
End If
End Property
代码显然不起作用,但我认为我没有考虑正确的逻辑来做到这一点。
我怎么做?
解答:
''' <summary>
''' Enable/Disable any flickering effect on the panel.
''' </summary>
Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
If _Diable_Flickering Then
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or &H2000000
Return cp
Else
Return MyBase.CreateParams
End If
End Get
End Property
答案 0 :(得分:6)
不可能有条件地看到属性。如果有人在对象处于不适当状态时尝试更改或获取值,您也可以抛出异常。