Вопрос пользовательского интерфейса, должен ли быть один и только один способ закрыть форму? - PullRequest
1 голос
/ 03 марта 2010

При разработке формы у меня есть возможность поместить кнопку закрытия в нижней части формы. Форма также будет иметь кнопку закрытия формы "x" в верхнем правом углу окна, как это предусмотрено winforms.

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

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

Ответы [ 3 ]

4 голосов
/ 03 марта 2010

Я проделал значительную работу по проектированию, и я не могу сказать, что слышал о принципе: «Должен быть один способ сделать [какую-то задачу]». На самом деле, я слышал (почти) обратное: «Всегда должен быть один очевидный способ выполнить задачу, но можно использовать дополнительные методы, чтобы помочь различным типам пользователей». Примером этого является возможность нажать кнопку «Сохранить», чтобы сохранить документ. Но вы также можете выполнить «Файл> Сохранить» и нажать Ctrl + S. Три способа выполнить ту же задачу.

Кроме того, если вы программируете в среде Windows (как кажется, вы), вы автоматически получите несколько способов закрытия окна. [X], конечно же, Alt + F4 является типичным, вы можете установить Ctrl + C и т. Д. Я бы не стал особенно помещать кнопку закрытия в нижней части формы, если она не поступает с вводом формы. Например, если вы хотите [отправить] или [закрыть] форму - имеет ли это смысл? Было бы лучше [Отправить] или [Отмена]? Подумайте о том, что делают ваши пользователи и как они используют форму.

2 голосов
/ 03 марта 2010

Вот несколько рекомендаций, которым я следую:

  • Если форма представляет собой приложение (оно было запущено непосредственно из Windows), вероятно, на нем не должно быть кнопки закрытия. Пользователи ожидают, что смогут закрыть приложение, нажав X в правом верхнем углу.
  • Если это диалоговое окно (оно было запущено из другого окна в вашем приложении), которое просто отображает информацию, то, вероятно, оно должно иметь кнопку закрытия, и вы также можете при желании оставить кнопку закрытия Windows.
  • Если это диалоговое окно, позволяющее пользователю редактировать данные, у него должны быть кнопка «Сохранить» или «Применить» и кнопка «Отмена», но не Windows X. Причина в том, что это означает неоднозначно. Должно ли это сохранить данные? Отменить? Покажите диалоговое окно, спрашивая их, что они хотят сделать?

В общем, я согласен, что должен быть только один способ что-то сделать. Причина в том, что разумный пользователь должен задаться вопросом, делают ли они разные вещи (даже если они названы одинаково). Даже если пользователь обнаруживает, что он делает подобные вещи, он может задаться вопросом, немного ли они отличаются.

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

0 голосов
/ 03 марта 2010

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

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

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

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