Как мне запрограммировать эффект «вспышки» при обновлении текстовых полей в форме Windows с помощью C #?

У меня есть форма Windows на C # с 7 текстовыми полями. Каждое текстовое поле обновляет 2 или 3 других, когда его значение изменяется и принимается. Я хочу каким-то образом взять те текстовые поля, которые нужно обновить, и заставить их «мигать» светлым цветом фона или чем-то подобным. Цель состоит в том, чтобы показать пользователю, что обновляется, с добавленным чутьем.

Я не уверен, есть ли простой способ сделать это, и именно поэтому я спрашиваю здесь. Думаю, я могу использовать таймер, цикл while и задний цвет с уменьшающимся альфа-каналом на цвете задней панели элемента управления текстового поля, но я хочу посмотреть, есть ли лучший способ.

Пользовательский интерфейс jQuery имеет " Эффект «Выделить», который показывает, чего я хочу достичь (хотя я хочу, чтобы мой был немного медленнее). Просто перейдите сюда, на страницу демонстрации эффектов пользовательского интерфейса jQuery , выберите «выделить» в раскрывающемся списке окна и нажмите «Выполнить эффект».

Править
Мне пришлось использовать собственное решение, основанное на моих ограничениях по времени и ресурсам, но текстовые поля не поддерживают прозрачные цвета, как упоминал Ханс Пассант. Итак, я использовал таймер с автоматическим остановом, который увеличивает значения R, G и B до тех пор, пока элемент управления не станет полностью белым (R = 255, G = 255, B = 255);

Редактировать 2
Завершено перекодирование событие flash в качестве метода расширения, использующего вариант решения Джорджа Джонстона после обновления до .NET 4.0. Я считаю, что это гораздо более чистое решение, и метод расширения делает его автоматически доступным для всех , использующих его.

6
задан Mike Webb 19 September 2013 в 17:50
поделиться