При закрытии: MsgBox («Хотите сохранить?») Или MsgBox («Хотите выйти без сохранения?») - PullRequest
4 голосов
/ 25 июня 2010

Какой подход лучше и почему.

Ответы [ 6 ]

7 голосов
/ 25 июня 2010

Вместо вопроса «да / нет» используйте вопрос с пользовательскими кнопками:

The file blah.txt has been modified. Would you like to save or discard it?

+------+    +---------+    +--------+
| Save |    | Discard |    | Cancel |
+------+    +---------+    +--------+
3 голосов
/ 25 июня 2010

Вам следует поискать рекомендации по пользовательскому интерфейсу для платформы, на которой вы разрабатываете (поиск "руководств по пользовательскому интерфейсу" или "руководств по оформлению интерфейса").Если они существуют, вы должны следовать им, чтобы ваше приложение могло соответствовать ожиданиям пользователя.Например, у Apple есть специальные рекомендации о том, что делать в этой ситуации в Mac OS X.

Типичный совет для этого конкретного сценария - не использовать кнопки «Да» или «Нет»., но кнопки, которые описывают действие, которое они выполняют.Например, вы можете отобразить окно сообщения, например: «Документ a.txt был изменен. Сохранить изменения?»с помощью кнопок «Сохранить», «Выход без сохранения» и «Отмена».Это дает пользователю понять, что будет делать каждая кнопка.

2 голосов
/ 25 июня 2010

Ваше приложение, как одна из основных целей, НИКОГДА не должно терять данные пользователя. Один из способов добиться этого - регулярно сохранять работу, которую пользователь проделал без вмешательства пользователя .

Это парадигма, к которой большинство людей привыкли в реальной жизни. Когда люди пишут в тетради, они не ожидают, что газета спросит: «Вы хотите, чтобы я фактически зафиксировал эти изменения на бумаге?», Они ожидают, что изменения будут постоянными, если они явно не решат выбросить их.

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

Эти идеи берут свое начало от очень просвещенного Почему программное обеспечение отстой ... И что вы можете с этим сделать .

1 голос
/ 25 июня 2010

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

1 голос
/ 25 июня 2010

MsgBox («файл был изменен. Вы хотите сохранить перед выходом?»)

Со следующими параметрами

  • Сохранить и выйти (по умолчанию, левая позиция)
  • Отмена (центральное положение, рядом с левой кнопкой)
  • Сброс (правое положение, с интервалом между остальными кнопками и этой.)


    The file xxx.txt has been modified.
    Do you wish to save before quitting?</p>

+---------+                     +--------+ +-------------+
| Discard | <---- SPACING ----> | Cancel | | Save & Quit |
+---------+                     +--------+ +-------------+

НИКОГДА не ставьте сброс между другими кнопками, так как это приведет к проблемам при неправильном нажатии.http://www.codinghorror.com/blog/2010/03/the-opposite-of-fitts-law.html

0 голосов
/ 25 июня 2010

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

Идея поиска руководства по пользовательскому интерфейсу хороша, но я согласен с человеком, который предложил минимальное вмешательство пользователя. Его аналогия с письмом на бумаге ударила ногтем по голове. В наши дни многие программы поставляются с определенным контролем версий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...