Como: Acrescentar um MenuStrip a uma janela de pai MDI (Windows Forms)

Em alguns aplicativos, o tipo de uma janela filho de interface de documentos múltiplos (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, você deseja atualizar o Sumário do menu do pai MDI com o Sumário do menu do filho MDI sistema autônomo janelas filho MDI de tipos diferentes são ativadas.

O procedimento a seguir usa o IsMdiContainer, AllowMerge, MergeAction, e MergeIndex propriedades para anexar o menu filho MDI ao menu pai MDI. Fechar a janela filho MDI remove o menu acrescentado do pai MDI.

Para acrescentar um item de menu a um MDI pai

  1. Criar um formulário e conjunto seus IsMdiContainer propriedade para true.

  2. Adicionar um MenuStrip para Form1 e conjunto o AllowMerge propriedade das MenuStrip para true.

  3. Set the Visible property of the Form1MenuStrip to false.

  4. Add a top-level menu item to the Form1MenuStrip and set its Text property to &File.

  5. Adicionar um item de submenu a &File item de menu e conjunto seus Text propriedade para &Open.

  6. Add a form to the project, add a MenuStrip to the form, and set the AllowMerge property of the Form2MenuStrip to true.

  7. Add a top-level menu item to the Form2MenuStrip and set its Text property to &Special.

  8. Adicionar dois itens de submenu para o &Special item de menu e conjunto seus Text propriedades para Command&1 e Command&2, respectivamente.

  9. conjunto o MergeAction propriedade das &Special, Command&1, e Command&2 itens de menu Append.

  10. Create an event handler for the Click event of the &NewToolStripMenuItem.

  11. Dentro do evento manipulador, inserir código semelhante ao exemplo de código a seguir para criar e exibir novas instâncias de Form2 sistema autônomo filhos MDI do Form1.

    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
    

    [C#]

    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();
    }
    
  12. Place code similar to the following code example in the &OpenToolStripMenuItem to register the event handler.

    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: