Каков наилучший способ представить меню в вашем приложении? - PullRequest
1 голос
/ 27 ноября 2008

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

Вам нравится традиционная система выпадающего меню, ленты, закрепленные панели инструментов, подход в виде дерева или другие инновационные идеи?

Ответы [ 6 ]

2 голосов
/ 27 ноября 2008

Важная вещь, которую следует учитывать в вашем дизайне: Удобство использования против обнаружения .

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

1 голос
/ 27 ноября 2008

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

  • Меню
  • Сочетания клавиш
  • Ящики для инструментов ...

Таким образом, пользователь может выбрать способ.

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

Я реализовал это в своем проекте с открытым исходным кодом Monex , и мне действительно нравится использовать его самому. Просто посмотрите на этот скриншот .

1 голос
/ 27 ноября 2008

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

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

Я также добавляю контекстное меню для элементов, которые автоматически заполняются теми же вариантами, что и нижняя панель инструментов. Таким образом, я даю более быстрый способ перейти к «действию», не перемещая мышь вниз к нижней части экрана.

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

0 голосов
/ 01 декабря 2008

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

  • Только панель инструментов: около 20 или менее команд. Предоставьте значки и текстовые метки для каждой кнопки. Представлять иерархию разделителями. Иметь не более двух уровней - соответственно раскрой свою иерархию.

  • Меню с панелью инструментов: более 20, но менее 1000 команд. До двадцати пунктов меню в одном меню (с использованием разделителей), как правило, лучше, чем каскадные меню - соответственно улучшите свою иерархию. Обычные команды должны иметь ускорители. Как правило, ограничьте панель инструментов не более чем 30 наиболее часто используемыми командами, в первую очередь командами, в противном случае доступными только из диалогового окна. Предположим, что не имеет элементы управления на панели инструментов для пунктов меню, которые имеют ускорители - часто достаточно одного хорошего способа экспертного доступа.

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

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

Окно, заполненное такими полевыми элементами управления (или другими представлениями объектов данных), является блоком контента. Элементы управления деревом могут использоваться для контроля того, какой блок контента отображается. Как и элементы управления вкладками, они предпочтительнее, чем несколько окон, когда пользователь часто переключается между блоками контента и не сравнивает блоки контента. Деревья предпочтительнее элементов управления вкладками, когда объем содержимого не помещается в одной строке вкладок.

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

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

0 голосов
/ 27 ноября 2008

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

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

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

0 голосов
/ 27 ноября 2008

Вы всегда можете выбрать все более и более контроль ленты. Интерфейсы Microsoft / Office имеют привычку превращаться в ожидания пользователя от нормы (со временем).

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