Como acrescentar um MenuStrip a uma janela pai MDI (Windows Forms)
Em alguns aplicativos, o tipo de uma janela filho MDI (interface de vários documentos) pode ser diferente da janela MDI pai. Por exemplo, a MDI pai pode ser uma planilha e a MDI filho pode ser um gráfico. Nesse caso, é recomendável atualizar o conteúdo do menu da MDI pai com o conteúdo do menu da MDI filho, visto que janelas MDI filho de tipos diferentes são ativadas.
O procedimento a seguir usa as IsMdiContainerpropriedades , AllowMerge, MergeActione MergeIndex para acrescentar o menu filho MDI ao menu pai MDI. Fechar a janela filho MDI remove o menu acrescentado do MDI pai.
Consulte também Aplicativos MDI (Interface de Vários Documentos).
Acrescentar um item de menu a um pai MDI
Crie um formulário e defina sua IsMdiContainer propriedade como
true
.Adicione um MenuStrip a
Form1
e defina a AllowMerge propriedade do MenuStrip arquivo paratrue
.Defina a Visible propriedade do
Form1
MenuStrip arquivo parafalse
.Adicione um item de menu de nível superior ao
Form1
MenuStrip e defina sua Text propriedade como&File
.Adicione um item de submenu ao item de
&File
menu e defina sua Text propriedade como&Open
.Adicione um formulário ao projeto, adicione a MenuStrip ao formulário e defina a AllowMerge propriedade do
Form2
MenuStrip .true
Adicione um item de menu de nível superior ao
Form2
MenuStrip e defina sua Text propriedade como&Special
.Adicione dois itens de submenu ao item de
&Special
menu e defina suas Text propriedades comoCommand&1
eCommand&2
, respectivamente.Defina a MergeAction propriedade dos itens de
&Special
menu ,Command&1
eCommand&2
como Append.Crie um manipulador de eventos para o Click evento 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 o
&Open
ToolStripMenuItem código semelhante ao exemplo de código a seguir no 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 Form controles chamados
Form1
eForm2
.Um MenuStrip controle em
Form1
nomeadomenuStrip1
e um MenuStrip controle emForm2
nomeadomenuStrip2
.Referências aos assemblies System e System.Windows.Forms.
.NET Desktop feedback