Изменение свойств нескольких ToolStripMenuItemодновременно
Создание и настройка меню
По окончании данного занятия вы сможете:
ü Создать и настроить компонент MenuStrip в форме.
ü Программно изменить отображаемую структуру меню
ü Создать и настроить компонент ContextMenuStrip в форме
Обзор элемента управления MenuStrip
В сущности, элемент управления MenuStrip — это ToolStrip, оптимизированный для отображения объектов ToolStripMenuItem. MenuStrip наследуется от ToolStrip и может содержать все элементы панели инструментов, описанные на предыдущем занятии. Однако первичное предназначение этого элемента управления заключается в отображении объектов ToolStripMenuItem.
Объекты ToolStripMenuItem являются элементами управления, обеспечивающими визуальное представление для элемента меню. Они могут выглядеть в виде текста или изображения либо и того, и другого, а код, который содержится в обработчиках события ToolStripMenuItem.Click, будет выполняться при щелчке мыши. Каждый из элементов управления ToolStripMenuItem может содержать свой собственный набор настроек, что позволяет создавать вложенные меню.
Элемент управления MenuStrip предоставляет большое количество свойств, влияющих на поведение элементов управления ToolStripMenuItem, которые он содержит. Основные свойства элемента управления MenuStrip приведены в табл. 9-1.
Заметьте, что свойства этого элемента управления и ToolStrip очень похожи. Из-за того что MenuStrip наследуется от ToolStrip, он предоставляет большую часть тех же свойств и инкапсулирует ту же функциональность
Табл.9-1. Основные свойства элементов управления MenuStrip
Свойство | Описание |
AllowMerge | Указывает, можно ли этот элемент управления объединять с другим |
Dock | Указывает, каким образом крепится панель инструментов. Несмотря на то, что элементы управления ToolStrip могут быть любого вида, чаще всего они крепятся к одному из краев формы |
LayoutStyle | Определяет расположение элементов управления в панели инструментов. В случае значения HorizontalStackWithOverFlow элементы располагаются горизонтально и при необходимости помещаются в меню переполнения. VerticalStackWithOverFlow располагает элементы вертикально и может помещать их в меню переполнения. StackWithOverflow определяет модель расположения, соответствующую свойству Dock панели инструментов. Значение Flow позволяет элементам размещаться горизонтально или вертикально, a Table располагает все элементы по левому краю |
RenderMode | Определяет, как визуализируются элементы панели инструментов. System использует настройки системы, Professional указывает внешний вид типа Microsoft Office, a ManagerRenderMode задает настройки автоматически |
ShowItemToolTips | Показывает, отображаются ли контекстные окна указателя для отдельных элементов панели инструментов |
Stretch | Если элемент управления находится в ToolStripContainer, показывает, растянется ли панель инструментов во всю длину TbolStripPanel |
TextDirection | Указывает направление текста в элементе управления, который содержит панель инструментов |
Элементы управления ToolStripMenuItem обеспечивают всю функциональность, которая требуется от элементов меню. В табл. 9-2 описаны основные свойства элемента управления ToolStripMenuItem.
Табл. 9-2. Основные свойства элемента управления ToolStripMenuItem
Свойство | Описание |
AutoSize | Определяет, может ли размер элемента меню автоматически подстраиваться под размер текста |
Checked | Указывает, будет ли отображаться флажок в элементе меню |
CheckOnClick | Указывает, будет ли появляться флажок в элементе меню при щелчке мышью |
CheckState | Возвращает CheckState элемента меню. CheckState может быть Checked, Unchecked или Indeterminate |
DisplayStyle | Определяет, как будет отображаться элемент меню. Значение None не придает никакого визуального эффекта, значение Text отображает на элементе меню только текст, Image — только изображение и, наконец, присвоение свойству значения ImageAndText приведет к отображению изображения рядом с текстом |
DoubleClickEnabled | Указывает, будет ли происходить событие DoubleClick |
DropDownItems | Содержит коллекцию элементов панели инструментов (обычно элементов меню, но не обязательно), которые отображаются в раскрывающемся списке при выборе элемента меню |
Enabled | Определяет активность элемента меню |
Image | Устанавливает изображение, которое будет использоваться для этого элемента меню |
MergeAction | Указывает, какое действие предпримет этот элемент меню при объединении меню |
Mergelndex | Указывает порядок расположения элементов в образованном меню после объединения двух других |
ShortcutKeyDisplayString | Устанавливает пользовательскую строку для клавиши быстрого доступа, которая отображается рядом с элементом меню Если клавиши быстрого доступа активны, а это свойство не установлено, то отображается действующая комбинация клавиш |
ShortcutKeys | Определяет клавиши, которые будут выступать в роли быстрой комбинации для выполнения команды меню |
ShowShortcutKeys | Указывает, активны ли клавиши быстрого доступа |
Text | Возвращает или устанавливает текст, который отображается в элементе меню |
Textlmage Relation | Определяет совместное размещение текста и изображения, когда свойствуDisplay Style присвоено значениеImageAndText |
Создание элементов управления MenuStrip и ToolStripMenultems
Вы можете создать MenuStrip во время разработки так же, как и любой другой элемент управления, перетащив его из Toolbox на поверхность конструктора. Появится интерфейс, где можно создать элемент меню путем ввода строки в поле элемента управления MenuStrip. При этом отображаются дополнительные поля справа и снизу для создания дополнительных элементов или подэлементов только что созданного элемента меню. Интерфейс исчезнет, если перенести фокус в другое место конструктора, но при щелчке элемента меню появится снова. Элемент управления ToolStripMenuItem изображен на рис. 9‑1.
Рис. 9-1 Интерфейс для разработки элемента управления ToolStripMenuItem
Обратите внимание, что по умолчанию схема для именования элементов управления ToolStripMenuItem отличается от соответствующей схемы для других элементов управления. Несмотря на то, что при добавлении в форму к имени таких элементов управления, как Button, добавляется число (например, Button1), перед именем меню стоит текст элемента меню. Так, если вы создали элемент меню File, то его имя по умолчанию будет FileToolStripMenuItem. Можно переименовать элемент меню, изменив его свойство Name в окне Properties.
Изменение свойств нескольких ToolStripMenuItemодновременно
Время от времени вам придется редактировать свойства нескольких элементов меню (или других элементов управления) одновременно. Как правило, это делается для уверенности в том, что отдельному свойству всех элементов управления присвоено одно и то же значение. Если вы редактируете свойства элементов управления разных типов, окно Properties отобразит только общие для всех элементов управления события и свойства.