Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Em algumas aplicações, o tipo de uma janela filha de uma interface de múltiplos documentos (MDI) pode ser diferente da janela mãe MDI. Por exemplo, o pai MDI pode ser uma planilha e o filho MDI pode ser um gráfico. Nesse caso, pretende-se atualizar o conteúdo do menu do pai MDI com o conteúdo do menu do 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 acrescentar o menu filho MDI ao menu pai MDI. Fechar a janela filha MDI remove o menu anexado da janela mãe MDI.
Consulte também Multiple-Document Aplicações de Interface (MDI).
Para adicionar um item de menu a um MDI pai
Crie um formulário e defina sua 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 um item de submenu ao item de menu
&File
e defina sua propriedade Text como&Open
.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&Special
.Adicione dois itens de submenu ao item de menu
&Special
e defina suas propriedades Text comoCommand&1
eCommand&2
, respectivamente.Defina a propriedade MergeAction dos itens de menu
&Special
,Command&1
eCommand&2
como Append.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 às assembleias System e System.Windows.Forms.
.NET Desktop feedback