ИЗМЕНИТЬ:
Мне удалось найти обходной путь. Теперь на MouseEnter
я устанавливаю фокус на кнопку и меняю MouseOverBackColor
на текущий BackColor
кнопки; У меня также есть обработчик событий (в родительском контейнере кнопки) для GotFocus
, который соответственно изменяет BackColor
. Я понятия не имею, почему это работает таким образом, но я только заставил его работать в этой конкретной комбинации. Опять же, я ищу лучшие способы сделать это, так что продолжайте в том же духе, отвечая на вопросы.
Я сделал переопределение кнопки, и теперь свойство Text переопределяет пользовательскую дочернюю метку. Проблема в том, что у меня есть стили, примененные к кнопке (изменение цвета при фокусе/вводе мыши).
Я хотел бы, чтобы метка соответственно изменила свой цвет, и до сих пор я добился этого двумя способами:
- Установите метку
BackColor
наTransparent
- Переопределите
OnMouseEnter
иOnMouseLeave
, чтобы соответствующим образом изменитьBackColor
метки.
Они оба работают; единственная проблема заключается в небольшой задержке при изменении BackColor
ярлыка; это приводит к небольшому разрыву графики при изменении BackColor
кнопки. Это не такая уж большая проблема, но это немного раздражает; Буду признателен за любой полезный совет, который вы мне дадите.
BackColor
на что-то другое между ними. - person Cody Gray   schedule 22.02.2011Label
поверх элемента управленияButton
. Если да, то зачем ты это делаешь? Вы можете просто изменить свойствоBackColor
дляButton
и добиться того же эффекта. - person Cody Gray   schedule 22.02.2011MouseEnterBackColor
иMouseDownBackColor
(которые не зависят отBackColor
), и их нужно установить динамически, чтобы наследоватьBackcolor
родителей, которые также могут меняться (фокусироваться или нет), и когда происходит этот сценарий (MouseOver
, затем изменитьMouseEnterBackColor
к родительскомуBackColor
, то есть когда возникает изменчивость меткиBackColor
) - person rotSin   schedule 22.02.2011