Какие-нибудь хорошие альтернативы для MessageBox в WinForms? - PullRequest
3 голосов
/ 27 сентября 2011

Программа WinForms неизбежно отправит уведомление пользователю. Существует два типа уведомлений:

  • Важно: пользователю необходимо принять меры
  • Не важно: вроде «что-то происходит, и вы можете обратить на это внимание».

Довольно часто MessageBox используется для обоих типов. Но недавно я обнаружил, что MessageBox раздражает: он крадет фокус пользователя, и пользователь должен щелкнуть, чтобы отклонить его. Я хочу знать, каковы альтернативы MessageBox и их плюсы / минусы?

Для начала вот идея:
Строка состояния : не просто отобразить длинное уведомление
уведомление на панели задач : люди думают, что это зло, поскольку большинство всплывающих окон интернет-рекламы используют этот подход?
плавающая строка состояния : Chrome / IE9 / Evernote используют аналогичную плавающую строку состояния, которая скрыта, когда нет адреса ссылки или нет сообщения.

  • Пользовательский интерфейс Chrome: информационная панель и пузырь состояния
  • IE9: панель уведомлений

1 Ответ

0 голосов
/ 27 сентября 2011

Мы реализовали механизм, аналогичный уведомлению на панели задач, но помещенный в некоторые координаты внутри элемента управления WinForms.

Это имеет некоторые преимущества:

  • У вас есть некоторый контекст о том, где (местоположение) отображается уведомление и почему.
  • Это немодально, поэтому оно не блокирует графический интерфейс.
  • Это легко реализовать, используя собственную форму без рамки.
  • Выможете разместить его в любом месте.
  • Вы можете отобразить ярлык ссылки с кратким объяснением и показать справку, другие номера или связать некоторые действия, если пользователю требуется дополнительное объяснение.Улучшен пользовательский интерфейс.

Но я рекомендую использовать уведомления только для информационных сообщений.

Вы должны принять во внимание некоторые советы по поводу окна сообщений:

  • Это стандартный способ показать информацию пользователю.
  • Пользователь должен уведомить об ошибке или предупреждении.Окно сообщений гарантирует, что пользователь, по крайней мере, нажал кнопку ОК.Таким образом, пользователь осознает, что что-то происходит.Да, возможно, он не прочитал сообщение, но во время аренды он увидел ошибку или предупреждение.
  • Возможно, пользователь игнорирует другие механизмы отчетности.

Надеюсь, это поможет.

...