Compartilhar via


Mesclando itens de menu no controle MenuStrip dos Windows Forms

Se tiver um aplicativo de interface MDI, você poderá mesclar os itens de menu ou os menus inteiros do formulário filho com os menus do formulário pai.

Este tópico descreve os conceitos básicos associados aos itens de menu de mesclagem em um aplicativo MDI.

Conceitos gerais

Os procedimentos de mesclagem envolvem um controle do código-fonte e de destino:

  • O destino é o MenuStrip controle no formulário principal ou pai MDI no qual você está mesclando itens de menu.

  • A origem é o MenuStrip controle no formulário filho MDI que contém os itens de menu que você deseja mesclar no menu de destino.

A MdiWindowListItem propriedade identifica o item de menu cuja lista suspensa você preencherá com os títulos dos filhos MDI do formulário pai MDI atual. Por exemplo, você normalmente lista o filho MDI que está aberto no momento no menu Janela.

A IsMdiWindowListEntry propriedade identifica quais itens de menu vêm de um MenuStrip formulário filho MDI.

Você pode mesclar itens de menu de forma manual ou automática. Os itens de menu são mesclados da mesma maneira para os dois métodos, mas a mesclagem é ativada de forma diferente, conforme discutido nas seções "Mesclagem manual" e "Mesclagem automática" neste tópico. Tanto na mesclagem manual quanto na automática, cada ação de mesclagem afeta a próxima.

MenuStrip A mesclagem move itens de menu de um ToolStrip para outro em vez de cloná-los, como foi o caso do MainMenu.

Valores de MergeAction

Defina a ação de mesclagem em itens de menu na origem MenuStrip usando a MergeAction propriedade.

A tabela a seguir descreve o significado e o uso típico das ações de mesclagem disponíveis.

Valor de MergeAction Descrição Usos comum
Append (Padrão) Adiciona o item de origem ao final da coleção do item de destino. Adicionar itens de menu no final do menu quando alguma parte do programa é ativada.
Insert Adiciona o item de origem à coleção do item de destino, no local especificado pela MergeIndex propriedade definida no item de origem. Adicionar itens de menu no início ou no meio do menu quando alguma parte do programa é ativada.

Se o valor de for o mesmo para ambos os itens de MergeIndex menu, eles serão adicionados na ordem inversa. Defina MergeIndex adequadamente para preservar a ordem original.
Replace Localiza uma correspondência de texto ou usa o valor se nenhuma correspondência de texto for encontrada e, em seguida, substitui o MergeIndex item de menu de destino correspondente pelo item de menu de origem. Substituir um item de menu de destino por um item de menu de origem de mesmo nome que faz algo diferente.
MatchOnly Localiza uma correspondência de texto ou usa o MergeIndex valor se nenhuma correspondência de texto for encontrada e, em seguida, adiciona todos os itens suspensos da origem ao destino. Criar uma estrutura de menu que insere ou adiciona itens de menu em um submenu ou remove itens de menu de um submenu. Por exemplo, você pode adicionar um item de menu de um filho MDI a um menu principal MenuStripSalvar como .

MatchOnly permite que você navegue pela estrutura do menu sem tomar nenhuma ação. Ele fornece uma maneira de avaliar os itens subsequentes.
Remove Localiza uma correspondência de texto ou usa o valor se nenhuma correspondência de texto for encontrada e, em seguida, remove o MergeIndex item do destino. Removendo um item de menu do destino MenuStrip.

Manual de mesclagem

Somente MenuStrip os controles participam da mesclagem automática. Para combinar os itens de outros controles, como ToolStrip e StatusStrip controles, você deve mesclá-los manualmente, chamando os Merge métodos e RevertMerge em seu código, conforme necessário.

Mesclagem automática

Você pode usar a mesclagem automática para aplicativos MDI, ativando o formulário de origem. Para usar um em um MenuStrip aplicativo MDI, defina a MainMenuStrip propriedade como o destino para que as ações de mesclagem executadas na origem MenuStrip sejam refletidas no destinoMenuStripMenuStrip.

Você pode acionar a mesclagem automática ativando o MenuStrip na fonte MDI. Após a ativação, a origem MenuStrip é mesclada no destino MDI. Quando um novo formulário se torna ativo, a mesclagem é revertida no último formulário e acionada no novo formulário. Você pode controlar esse comportamento definindo a propriedade conforme necessário em cada , e definindo a MergeActionAllowMerge propriedade em cada ToolStripItemMenuStrip.

Confira também