【问题标题】:ReadOnly Property with IF statement带有 IF 语句的 ReadOnly 属性
【发布时间】:2013-06-01 15:38:35
【问题描述】:

我正在尝试创建一个继承的控件。 我为此控件创建了一个名为“闪烁”的布尔公共属性,以启用/禁用控件上的闪烁效果。

然后我想要的是仅在启用“闪烁”属性时“打开”下一个可覆盖的属性,但我不知道如何执行此操作:

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

【问题讨论】:

    标签: .net vb.net inheritance if-statement properties


    【解决方案1】:

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

    【讨论】:

    • 没关系,我终于做到了,我的问题已经更新了答案,无论如何谢谢。
    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 2012-01-27
    • 2016-08-15
    • 2014-10-26
    • 2018-02-20
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多