Como remover um ToolStripMenuItem de um menu MDI Drop-Down (Windows Forms)
Em alguns aplicativos, o tipo de janela filho de interface de vários documentos (MDI) pode ser diferente da janela pai MDI. Por exemplo, o pai MDI pode ser uma planilha e o filho MDI pode ser um gráfico. Nesse caso, pretende atualizar o conteúdo do menu pai MDI com o conteúdo do menu filho MDI à medida que são ativadas janelas filho MDI de diferentes tipos.
O procedimento a seguir usa as propriedades IsMdiContainer, AllowMerge, MergeActione MergeIndex para remover um item de menu da parte suspensa do menu pai do MDI. Fechar a janela filho MDI restitui os itens de menu removidos ao menu pai MDI.
Para remover um MenuStrip de um menu desdobrável MDI
Crie um formulário e defina a propriedade IsMdiContainer como
true
.Adicione um MenuStrip ao
Form1
e defina a propriedade AllowMerge do MenuStrip comotrue
.Adicione um item de menu de nível superior ao
Form1
MenuStrip e defina sua propriedade Text como&File
.Adicione três itens de submenu ao item de menu
&File
e defina suas propriedades Text como&Open
,&Import from
eE&xit
.Adicione dois itens de submenu ao item de submenu
&Import from
e defina suas propriedades Text como&Word
e&Excel
.Adicione um formulário ao projeto, adicione um MenuStrip ao formulário e defina a propriedade AllowMerge do
Form2
MenuStrip comotrue
.Adicione um item de menu de nível superior ao
Form2
MenuStrip e defina sua propriedade Text como&File
.Adicione um
&Import from
item de submenu ao menu&File
doForm2
e adicione um&Word
item de submenu ao menu&File
.Defina as propriedades MergeAction e MergeIndex dos itens de menu
Form2
, conforme mostrado na tabela a seguir.Item de menu do Form2 Valor de MergeAction Valor MergeIndex Ficheiro MatchOnly -1 Importar de MatchOnly -1 Palavra Remover -1 No
Form1
, crie um manipulador de eventos para o evento Click do&Open
ToolStripMenuItem.No manipulador de eventos, insira um código semelhante ao exemplo de código a seguir para criar e exibir novas instâncias de
Form2
como filhos MDI deForm1
:Private Sub openToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles openToolStripMenuItem.Click Dim NewMDIChild As New Form2() 'Set the parent form of the child window. NewMDIChild.MdiParent = Me 'Display the new form. NewMDIChild.Show() End Sub
private void openToolStripMenuItem_Click(object sender, EventArgs e) { Form2 newMDIChild = new Form2(); // Set the parent form of the child window. newMDIChild.MdiParent = this; // Display the new form. newMDIChild.Show(); }
Coloque um código semelhante ao exemplo de código a seguir no
&Open
ToolStripMenuItem para registrar o manipulador de eventos.Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new _ System.EventHandler(this.openToolStripMenuItem_Click);
Compilando o código
Este exemplo requer:
Dois controles Form chamados
Form1
eForm2
.Um controle MenuStrip em
Form1
chamadomenuStrip1
e um controle MenuStrip emForm2
chamadomenuStrip2
.Referências aos conjuntos System e System.Windows.Forms.
Ver também
.NET Desktop feedback