Как лучше всего представить меню в вашем приложении?

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

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


person Stuart Helwig    schedule 27.11.2008    source источник


Ответы (6)



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

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

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

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

person Stefan    schedule 27.11.2008

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

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

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

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

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

person Drejc    schedule 27.11.2008

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

person Galwegian    schedule 27.11.2008
comment
... однако: лента не подходит для всех случаев использования. - person BlaM; 27.11.2008

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

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

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

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

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

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

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

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

person Michael Zuschlag    schedule 01.12.2008

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

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

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

person AlexDrenea    schedule 27.11.2008