Слияние элементов меню в элементе управления MenuStrip в Windows Forms
Если у вас есть приложения многодокументного интерфейса (MDI), можно объединить пункты меню или целые меню из дочерней формы в меню родительской формы.
В этом разделе описываются основные понятия, связанные с слияние элементов меню в приложении MDI.
Общие понятия
Процедуры слияния охватывают целевого объекта и системы управления версиями:
Целевой объект — MenuStrip управления на главной или родительской MDI-формы, в которой выполняется слияние пунктов меню.
Источником является MenuStrip элемента управления в дочерней форме MDI, содержащий пункты меню, которые необходимо объединить в меню «цель».
MdiWindowListItem Свойство идентифицирует элемент меню, в которых стрелку раскрывающегося списка, то вы заполните названия MDI текущей родительской дочерние формы MDI. Например, обычно список дочерние формы MDI, открытые в настоящий момент на окно меню.
IsMdiWindowListEntry Свойство идентифицирует которого берутся элементы меню MenuStrip на дочерней формы MDI.
Пункты меню можно объединить вручную или автоматически. Слияние элементов меню таким же образом, оба метода, но включается по-разному, как описано в разделах «Слияние вручную» и «Автоматическое слияние» далее в этом разделе. В процессе автоматического и ручного слияния каждое действие слияния затрагивает следующее.
MenuStrip Слияние перемещает элементы меню из одного ToolStrip в другую клонируются, как в случае с MainMenu.
Значения MergeAction
Задайте действие слияния пунктов меню в источнике MenuStrip с помощью MergeAction свойство.
В следующей таблице описаны значение и типичные случаи применения доступных операций слияния.
Значение MergeAction | Описание | Типичные случаи использования |
---|---|---|
Append | (По умолчанию) Добавляет исходный элемент в конец элемента целевой коллекции. | Добавление пунктов меню в конец меню при активации некоторые части программы. |
Insert | Добавляет элемент источника конечный элемент коллекции, в расположении, заданном параметром MergeIndex свойство, заданное для исходного элемента. | Добавление пунктов меню в середину или начало меню при активации некоторые части программы. Если значение MergeIndex одинаков для обеих пунктов меню, они добавляются в обратном порядке. Задайте MergeIndex соответствующим образом, чтобы восстановить исходный порядок. |
Replace | Находит соответствие текст или использует MergeIndex значение, если текстовое совпадение найдено и заменит соответствующий конечный элемент меню с элементом меню источника. | Целевой элемент меню, заменив элемент меню источника с тем же именем, который делает что-то иное. |
MatchOnly | Находит соответствие текст или использует MergeIndex значение, если совпадений текста найден, а затем добавляет все элементы раскрывающегося списка из источника в целевой объект. | Построение структуры меню, который вставляет или добавляются в подменю или удаляет элементы меню из вложенного меню. Например, можно добавить элемент меню из дочерней формы MDI в главное MenuStrip Сохранить как меню. MatchOnly позволяет перемещаться по структуре меню без какого-либо действия. Он предоставляет способ оценки последующих элементов. |
Remove | Находит соответствие текст или использует MergeIndex значение, если текстовое совпадение найдено и затем удаляет элемент из целевого объекта. | Удаление цели пункта меню MenuStrip. |
Слияние вручную
Только MenuStrip элементы управления участвовать в процессе автоматического слияния. Для объединения элементов других элементов управления, таких как ToolStrip и StatusStrip элементов управления, необходимо осуществить слияние их вручную, путем вызова Merge и RevertMerge методы в коде при необходимости.
Автоматическое слияние
Можно использовать автоматическое слияние для приложения MDI, активировав исходной формы. Для использования MenuStrip в приложении MDI, задайте MainMenuStrip свойство в целевой объект MenuStrip так, что операции слияния выполняются на исходном MenuStrip отражаются в целевом объекте MenuStrip.
Вы можете активировать автоматического слияния, активировав MenuStrip в источнике MDI. После активации, источник MenuStrip объединяются в целевую MDI. Когда новая форма становится активным, слияния отменяется на последней формы и запущено на новую форму. Этим поведением можно управлять, задав MergeAction свойства при необходимости на каждом ToolStripItemи установив AllowMerge свойство на каждом MenuStrip.