2013-06-05 123 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