Я знаю, что могу программно заставить элемент панели задач для определенного окна начать мигать, когда что-то изменится, но есть ли способ остановить его мигание либо программно через определенный период времени, либо, по крайней мере, есть ли сокращение клавиатуры, которое я могу дать моим пользователям как-то остановить перепрошивку?
Остановить мигание панели задач
Ответы (3)
Функция FlashWindowEx, управляющая миганием, принимает Структура FLASHWINFO с полем uCount для управления сколько раз мигает. Кроме того, возможное значение поля dwFlags — FLASHW_STOP, чтобы остановить мигание.
РЕДАКТИРОВАТЬ: забыли, что это вопрос с тегом С#... поэтому P/Invoke goodness найден здесь.
Вместо мигания тасбара вы можете использовать NotifyIcon. Это позволит вам поместить что-то в системный трей (еще что-то, что многие считают злом из-за распространения приложений, которые делают это). Затем вы можете вывести всплывающую подсказку с любым изменением, которое фактически описывает само изменение.
Для использования: (1) Перетащите значок NotifyIcon на форму или создайте в своем приложении NotifyIcon notify = new NotifyIcon(); (2) Задайте для свойства значка требуемое изображение (3) Управляйте видимостью на панели задач с помощью свойства Visible (4) Вызовите ShowBalloonText для отображения всплывающего текста (ограничено 64 символами)
В любом случае, вы должны добавить в программу опцию, позволяющую конечному пользователю включать и выключать эту функцию в зависимости от того, что они думают обо всем этом. Мне лично нравится значок уведомления, потому что текст в виде шара может говорить что-то вроде «Сервер вышел из строя».
@thomas -- Удивительно, что собственное руководство по взаимодействию с пользователем Windows Vista от Microsoft соответствует ты ...
В то время как мигание кнопки панели задач в фоновом режиме лучше, чем если бы оно автоматически поднималось вверх и крало фокус ввода, мигающие кнопки панели задач по-прежнему очень навязчивы. Пользователям трудно сосредоточиться, когда мигает кнопка на панели задач, поэтому следует исходить из того, что пользователи немедленно прекратят свои действия, чтобы остановить мигание. Следовательно, зарезервируйте мигание панели задач только для ситуаций, когда требуется немедленное внимание.
Конечно, кто знает, кто на самом деле следует этим рекомендациям… или кто их даже читает. :)