2013-06-05 87 views
1

我想创建一个继承的控件。 我为此控件制作了一个布尔公共属性,标题为“闪烁”以启用/禁用控件上的闪烁效果。ReadOnly属性与IF语句

然后,我想要的是下一个重写的属性“转”只有当启用了“闪烁”属性,但我没有对如何做到这一点的想法:

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 

回答

6

这是不可能有条件可见的属性。如果有人在对象处于不适当的状态时尝试更改或获取值,则可以抛出异常。

+0

无论如何,最后我已经做到了,我的问题更新了答案,谢谢反正。 – ElektroStudios