3
我想定製控件根據Enabled
屬性的值提供不同的BackColor
。我繼承了Button
,現在試圖將BackColor
屬性隱藏起來,從視圖中隱藏它,然後再提供另一個,名爲BackColorEnabled
。定製屬性不顯示在屬性窗口中
這裏是該問題降低測試用例:
Imports System.ComponentModel
Friend Class StyledButton : Inherits Button
Private _BackColorEnabled As Color
<Browsable(False)>
Friend Shadows Property BackColor As Color
Get
Return MyBase.BackColor
End Get
Set(value As Color)
MyBase.BackColor = value
End Set
End Property
<Browsable(True)>
Friend Property BackColorEnabled As Color
Get
Return _BackColorEnabled
End Get
Set(value As Color)
_BackColorEnabled = value
End Set
End Property
Sub New()
_BackColorEnabled = SystemColors.Control
End Sub
End Class
的問題是這兩種性質都沒有效果,即BackColor
仍然顯示了,BackColorEnabled
是不存在。根據我在網上發現的很多鏈接,設置BrowsableAttribute
應該100%工作。那麼上面的代碼有什麼問題?
我知道關於試圖隱藏BackColor的公開 - 範圍必須匹配,就好像它通過簽名一樣,但是您很快。相關的東西我剛剛遇到:w/ctl從ListView繼承,我想陰影/使用'Headerstyle',但它不屬於屬性列表...它是區分大小寫的。只要我將它改爲「HeaderStyle」(首都S),它就會消失。我已經來回切換了2-3次,以確保它不是別的。 「BackColor」與「Backcolor」相同。如果你離開陰影,VS會抱怨,但不會真正的陰影,除非大小寫匹配!也許是一個錯誤 – Plutonix