2011-02-22 4 views
1

EDIT:Как я могу сделать обновление BackColor Label быстрее?

мне удалось обойти. Теперь на MouseEnter, я установил фокус на кнопку, и я меняю MouseOverBackColor на текущую кнопку BackColor; У меня также есть обработчик событий (в родительском контейнере кнопки) для GotFocus, который соответственно изменяет BackColor. У меня нет идеи, почему это работает таким образом, но я только начал работать в этой конкретной комбинации. Опять же, я ищу лучшие способы сделать это, чтобы поддерживать это с ответами.

Я сделал переопределение кнопки, а свойство Text теперь переопределяет пользовательскую метку пользователя. Проблема в том, что у меня есть стили, применяемые к кнопке (изменение цвета при вводе фокуса/мыши).

Я хотел бы ярлык, чтобы изменить его цвет, соответственно, и я достиг этого двумя способами до сих пор:

  1. Установите лейбла BackColor в Transparent
  2. Override OnMouseEnter и OnMouseLeave также изменить этикетки BackColor соответственно.

Они оба работают; единственная проблема заключается в небольшой задержке при изменении BackColor ярлыка; это приводит к небольшому разрыву в графике, когда изменяется BackColor кнопки Button. Это не такая уж большая проблема, но это немного раздражает; был бы признателен за любые полезные советы, которые вы бы дали мне.

+0

Почему вы не просто установить BackColor метки прозрачным ** навсегда **? –

+0

@ Даниэль: Я сомневаюсь, что это поможет производительности. Вопрос, похоже, не указывает на то, что он меняет ярлык 'BackColor' на что-либо * else * между ними. –

+0

Вы правы, вопрос не указывает на это. Но это единственный способ, я могу объяснить задержку в сценариях BOTH ... –

ответ

2

В зависимости от того, как часто ваше приложение обрабатывает насос сообщений Windows или как он простаивает, вам может потребоваться вызвать Control.Update(), чтобы заставить .NET немедленно обновить картину элемента управления.

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.update.aspx

+0

Поскольку я опубликовал этот вопрос, я узнал много чего, что касается среди прочего, этот конкретный вопрос. Оглядываясь назад на этот вопрос, на самом деле это не так важно, как тогда, когда это было тогда :) Несмотря на это, вы правы; если меня не устраивает скорость потока сообщений, обеспечьте, что мне нужно. – rotSin

+0

приятно слушать :) – MickyD

Смежные вопросы