Создание клавиш быстрого доступа
Клавиши быстрого доступа, в отличие от клавиш доступа, позволяют прямой вызов элемента меню, независимо от того, видим он или нет. Например, вы могли бы определить комбинацию клавиш Ctrl+E как быструю для команды Exit в меню File. Даже если меню File не будет открыто, комбинация клавиш Ctrl+E приведет к выполнению команды Exit. Кроме того, в отличие от клавиш доступа, создавать быстрые клавиши для меню верхнего уровня нельзя — это возможно только для элементов вложенных меню
Для создания клавиш быстрого доступа во время разработки следует в окне Properties установить свойство ShortcutKeys. Когда вы его щелкнете, появится панель, позволяющая задавать комбинации клавиш. Эта панель представлена на рис. 9-3.
Если вы хотите отобразить клавиши быстрого доступа рядом с элементом меню, свойству ShowShortcutKeys элемента управления ToolStripMenuItem надо присвоить значение True. Можно также задать текст, который будет отображаться вместо комбинации клавиш. Если необходимо задать текст, его можно задать свойству Shortcut- Key Display String.
Перемещение элементов меню
Перемещать элементы меню с одного меню в другое можно во время выполнения. Это позволит вам динамически настраивать меню для определенных целей. Чтобы переместить элемент в новое меню, примените метод MenuStrip.Items Add — такой элемент будет удален с предыдущего меню автоматически. Если вы хотите переместить элемент меню в определенное место другого меню, воспользуйтесь методом Insert. Ниже приведены примеры:
Кроме того, можно обратиться к аналогичным методам свойства ToolStripMenuItem. DropDownItems, чтобы переместить элементы с одного меню в другое. Ниже приведены примеры:
Деактивирование, скрытие и удаление элементов меню
Иногда имеет смысл убрать из меню определенные опции, Возможно, вы захотите деактивировать элемент меню, потому что вас не устраивают условия для его выполнения, или скрыть элемент меню, который не должен отображаться. А в некоторых случаях может потребоваться удалить элемент из меню вообще.
Чтобы деактивировать элемент меню, присвойте значение False свойству Enabled. Элемент меню станет серым. Пользователь его будет видеть, но не сможет вызвать ни щелчком мыши, ни комбинацией клавиш.
Вы можете скрыть элемент меню, присвоив свойству Visible значение False. Однако помните, что это не деактивирует элемент меню, и если его свойству Enabled задать значение True, такой элемент все еще можно вызвать с помощью быстрых клавиш, если они для него были определены. Скрывайте элементы меню с умом: если пользователю понадобится какой-то элемент, то будет лучше, если он увидит его серым, поскольку свойству Enabled задано значение False. Иначе пользователь будет вынужден продолжить поиски скрытого элемента в других меню.
Если вам нужно полностью удалить элемент из меню, используйте методы Menu- Strip.Items.Remove и MenuStripJtems.RemoveAt (для удаления элемента из меню верхнего уровня) или методы ToolStripMenuItem.DropDownItems.Remove и ToolStripMenuItem. DropDownItems.RemoveAt (при необходимости удалить элемент из вложенного меню), как показано в следующих примерах:
