Я определил собственный класс кнопки, который устанавливает цвет фона, когда кнопка включена/отключена.
Включенный внешний вид во время выполнения (A):
Отключенный внешний вид во время выполнения (B):
Внешний вид во время разработки всегда (A), независимо от значения свойства Enabled
.
Я хотел бы, чтобы мой элемент управления отображался в конструкторе точно так же, как он будет отображаться во время выполнения. Возможно ли это и если да, то как это сделать?
Вот что я пробовал (только соответствующие части кода):
Public Class StyledButton : Inherits Button
Private p_fEnabled As Boolean
<DefaultValue(True)>
Public Shadows Property Enabled As Boolean
Get
Return p_fEnabled
End Get
Set(value As Boolean)
p_fEnabled = value
MyBase.Enabled = value
UpdateVisualStyle()
End Set
End Property
Private Sub UpdateVisualStyle()
If Me.Enabled Then
'set enabled appearance
Else
'set disabled appearance
End If
End Sub
End Class
Me.Invalidate()
в концеUpdateVisualStyle
, а также пробовалMe.Refresh()
. Тем не менее, никаких изменений в поведении во время разработки. Любые другие идеи? - person Neolisk   schedule 06.08.2014glow
при включении стилей VisualStyle при наведении на них указателя мыши. Некоторые реквизиты доступны только для RT. Возможно, вам также придется изменитьUseVisualStyleBackColor
, если VisualStyles активны. (установщик реквизита не вызывается в IDE - используйте OnEnableChanged, чтобы увидеть) - person Ňɏssa Pøngjǣrdenlarp   schedule 06.08.2014neoEnabled
, и оно будет работать (с недействительным) - person Ňɏssa Pøngjǣrdenlarp   schedule 06.08.2014UseVisualStyleBackColor
, по-видимому, назначается автоматически при установке BackColor, поэтому нет необходимости навязывать его. - person Neolisk   schedule 06.08.2014