带有IF语句的ReadOnly属性

Ele*_*ios 1 .net vb.net inheritance if-statement properties

我正在尝试创建一个继承的控件.我为这个名为"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
Run Code Online (Sandbox Code Playgroud)

代码显然不起作用,但我认为我没有考虑正确的逻辑来做到这一点.

我怎么能这样做?

回答:

''' <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
Run Code Online (Sandbox Code Playgroud)

Fel*_*ano 6

不可能有条件地看到财产.如果有人在对象处于不适当的状态时尝试更改或获取值,您也可以抛出异常.