Как разбить контекстное меню на несколько столбцов в Winforms? - PullRequest
1 голос
/ 29 октября 2009

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

Как сделать так, чтобы меню автоматически разбивалось на 2 или более столбцов, чтобы пользователю не приходилось выполнять прокрутку?

1 Ответ

3 голосов
/ 31 октября 2009

Это поведение было удалено из Windows некоторое время назад - обратите внимание, что Windows Vista / 7 использует дерево для отображения программ в меню «Пуск». Я подозреваю, что это произошло потому, что он предоставляет слишком много данных и решений для пользователя.

Вы уверены, что это лучший способ представить выбор пользователю?

Если это так, то вам, вероятно, понадобится пользовательский элемент управления меню, который будет довольно трудоемким.

  • Если нет, то вы должны рассмотреть, как вы можете добиться того же выбора с другие элементы управления. Как насчет списка с фильтр?
  • Есть ли естественная группировка к Предметы? Если это так, вы могли бы разделить на списки, списки или деревья.
  • Нужно ли разделять приложение в разные режимы?
  • Номера предметов? - если так числовое управление вверх / вниз может работать

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

Потратьте некоторое время, играя со всеми элементами управления в наборе инструментов WinForms, чтобы увидеть, что работает хорошо.

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