Изменение свойств нескольких 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 Определяет, как визуализируются элементы панели инструментов. Sys­tem использует настройки системы, 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 отобразит только общие для всех элементов управления события и свойства.