Должен ли я использовать значок предупреждения или значок вопросительного знака в окне сообщения Windows?
Многие знают о MessageBoxIcon
типа "вопрос". Если вы не знакомы с этим значком, это просто прославленный знак вопроса. Мне любопытно, подходит ли эта икона в профессиональных приложениях. Например, допустим, что у меня есть кнопка, которая при щелчке очистит все текстовые поля во всей форме. Когда кнопка нажата, я хочу предупредить пользователя о том, что его действие собирается сделать. Я мог бы написать одно из следующих:
MessageBox.Show("Really clear all data?", "Clear confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
ИЛИ
MessageBox.Show("Really clear all data?", "Clear confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
Что вы все скажете, тем более профессиональным из них?
Ответы
Ответ 1
Я действительно не думаю, что это проблема "профессионализма", но это определенно противоречит рекомендациям Microsoft.
Документация для флага MB_ICONQUESTION
имеет это, чтобы сказать (и то же самое для члена "Вопрос" MessageBoxIcon
enum):
В окне сообщения появится значок вопросительного знака. Значок сообщения вопросительного знака больше не рекомендуется, поскольку он явно не представляет собой конкретный тип сообщения и потому, что формулировка сообщения в качестве вопроса может применяться к любому типу сообщения. Кроме того, пользователи могут путать знак вопроса символа сообщения с информацией справки. Поэтому не используйте символ сообщения вопроса в своих сообщениях. Система продолжает поддерживать ее включение только для обратной совместимости.
И в разделе Стандартные значки в Руководстве по взаимодействию с пользователями Windows очень четко сказано, что значок знака вопроса должен использоваться только для обозначения "Help entry point":
Значки значков вопроса
- Использовать значок вопросительного знака только для точек ввода справки.. Дополнительные сведения см. в рекомендациях точки входа в Help.
- Не используйте значок вопросительного знака, чтобы задавать вопросы. Снова используйте значок вопросительного знака только для точек входа справки. В любом случае нет необходимости задавать вопросы с помощью значка вопросительного знака - достаточно представить основную инструкцию в качестве вопроса.
- Не следует регулярно заменять значки значков значками предупреждений. Заменить значок знака вопроса значком предупреждения, только если вопрос имеет серьезные последствия. В противном случае не используйте значок.
Я настоятельно рекомендую вам прочитать весь документ; он предоставляет множество полезных советов по выбору правильного значка. Но в этом конкретном случае, поскольку вы просите пользователя подтвердить операцию, которая связана с потенциальной потерей данных, вы должны обязательно использовать значок предупреждения, соответствующий этому руководству:
- Для диалогов вопросов используйте значки предупреждений только для вопросов со значительными последствиями.
Ответ 2
Я бы использовал значок предупреждения для диалогов, которые предупреждают пользователя о том, что произойдет что-то плохое (или необратимое).
Точка предупреждающего значка - привлечь внимание пользователя к тому, что он собирается совершить ошибку.
Это верно, даже если диалог содержит вопрос.
Ответ 3
Нулевые данные очистки - это то, что нужно правильно подсвечивать. Пользователи должны быть предупреждены, особенно когда это все данные, и если у вас нет резервных решений. Таким образом, второй вариант более подходит в этом сценарии
Ответ 4
Я обычно придерживаюсь правила, что если вы используете значок предупреждения, он должен указывать на проблему, например:
Очистка данных не может быть отменена. Хотелось бы продолжить?
Вопрос будет больше похож:
Вы уверены, что хотите очистить все данные?
Текст также должен быть полным и грамматически правильным предложением.
Ответ 5
Более важно, чем значок: вы должны сделать кнопку Нет по умолчанию, если вы считаете это потенциально опасным действием, то есть используйте перегрузку, которая принимает параметр MessageBoxDefaultButton
и укажет:
...,MessageBoxDefaultButton.Button2
Ответ 6
Наиболее профессиональным было бы сделать действие отменным и, таким образом, сделать подтверждение/предупреждение совершенно ненужным.
Если он действительно не может быть отменен, следуйте рекомендациям Windows, поскольку Коди указан в его ответе.
Ответ 7
Они одинаково профессиональны или непрофессиональны в зависимости от вашей точки зрения =). Вы должны подумать о том, что вы пытаетесь сообщить своему пользователю. Из вашего описания проблемы я склоняюсь к использованию "предупреждения", поскольку кажется, что очистка этих полей может иметь негативные последствия.
Ответ 8
Реальность заключается в том, что вы могли бы использовать любой из них, и это выглядело бы хорошо. Но это не значит, что оно было спроектировано правильно.
Удаление всех пользовательских данных - это то, что должно иметь значок предупреждения.
Причина? Сообщение, которое вы выскакиваете, должно передать ситуацию. Используя? значок, вероятно, не передает правильное сообщение. Использование значка предупреждения делает это, поскольку - поскольку пользователь должен быть предупрежден о том, что приложение намерено очистить все свои данные.
Ответ 9
Честно говоря. Я бы сказал "Are you sure you wish to clear all data"
вместо "Really clear all data?"
... Нет, не знаю, что это за значок.
Информацию о значке вы можете прочитать в других сообщениях!