Дизайн пользовательского интерфейса: элементы управления информацией об ошибках или окна сообщений? - PullRequest
2 голосов
/ 08 февраля 2011

Мы постоянно обсуждаем с клиентом информацию об ошибках. Общий сценарий: - пользователь открывает форму - пользователь заполняет 20 полей в форме - пользователь нажимает ОК - если существуют ошибки, ошибочные поля помечаются стандартным поставщиком ошибок .NET, и диалоговое окно не закрывается.

Наш клиент хочет реализовать следующий сценарий: - проверить поле, когда пользователь хочет отойти от поля - если поле содержит ошибку, отобразить окно сообщения с описанием ошибки - иногда требуется только предупреждение, но это должно быть окно сообщения.

Первый вопрос: как вы информируете пользователя об ошибках ввода данных? Вы используете окна сообщений или .NET-подобные провайдеры ошибок? Я спрашиваю об этом, потому что до сих пор мы использовали только провайдер ошибок .NET, и мы чувствуем второй способ, как это странно.

Второй вопрос: при реализации второго сценария мы использовали событие Validating для отображения окна сообщения. Все работало нормально, кроме сценария, когда пользователь меняет поле, а затем нажимает кнопку ОК. В этой ситуации модальная форма не закрывается, и нам нужно реализовать специальный код для отслеживания сфокусированного элемента управления. Сталкивались ли вы с этой проблемой? Вы также внедрили механизм отслеживания фокуса?

Ответы [ 5 ]

0 голосов
/ 08 февраля 2011

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

0 голосов
/ 08 февраля 2011

Это зависит от пользователей и количества фактически введенных ошибок.

Вероятно, это также зависит от того, сколько говорят пользователи на самом деле!($$$)

Если вводится много ошибок, я думаю, они будут сыт по горло сообщениями довольно быстро.

В зависимости от формы и ее стиля/ layout может быть более целесообразно использовать другую форму индикации ошибок, которая все еще будет отчетливо видна, когда пользователь перемещает фокус.

Конечно, если пользователь получает много ошибок, тогда может быть основная причинавопрос, который более уместен для решения.

0 голосов
/ 08 февраля 2011

Трудно дать общий ответ - программное обеспечение предыдущего поколения обычно использовало окно сообщения об ошибке. Но я думаю, что в программном обеспечении текущего поколения есть переключатель, позволяющий избежать ящиков сообщений. Итак, я думаю, что видел в демонстрации, что в Microsoft LightSwitch нет сообщения в таком случае, как ваш.

0 голосов
/ 08 февраля 2011

Единственная причина, по которой Microsoft добавила поставщиков ошибок, заключалась в том, чтобы избежать «ада сообщений», который ваш клиент, похоже, решил изгнать.Модальные диалоги нарушают пользовательский поток и вызывают дополнительные ненужные взаимодействия с пользовательским интерфейсом.После того, как они увидели сообщение несколько раз, они все равно даже не прочитали его.

Теперь я согласен, что их пользователю следует немедленно уведомить, что проверка не прошла, когда он уходит с поляили, возможно, он даже должен держать их в поле.

У Infragistics есть несколько хороших советов по этому вопросу:

http://quince.infragistics.com/html/PatternView.aspx?id=efb68767-0c0d-48da-9dab-d398ae1d7e8c

(Для своевременной проверки ядумаю, что вам нужно использовать поставщиков ошибок, как это http://msdn.microsoft.com/en-us/library/f6xht7x2.aspx)

0 голосов
/ 08 февраля 2011

Очень хороший метод выглядит следующим образом:

Используйте элемент управления Validation, чтобы уведомлять пользователя об ошибках по мере их возникновения.

  • В этом случае убедитесь, что вы предоставляете полезную информацию о причине ошибки.
  • Это должно быть в состоянии сделать, поскольку значение, поддерживающее поле, обновляется.Будь то через INotifyPropertyChanged, список привязок и т. Д.

Тогда, если пользователь пытается отправить форму, не позволяйте им.Дайте им диалог, который говорит

'Эй, приятель.Посмотрите на эти красные моргающие вещи, они означают, что у вас есть ошибки.Иди исправь их, и тогда ты сможешь получить свой десерт. '

Ваши ошибки должны быть очевидны, а также разрешение ошибки.Нет ничего хуже, чем ПРИНТЕР ОБЩЕЙ ОШИБКИ НА ОГНЕ.

...