Compartilhar via


Como: inserir um MenuStrip em um menu MDI Drop-Down (Windows Forms)

Em alguns aplicativos, o tipo de janela filha em uma Interface de Múltiplos Documentos (MDI) pode ser diferente da janela pai na 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 conteúdo do menu do pai MDI com o conteúdo do menu filho MDI à medida que janelas filho MDI de diferentes tipos são ativadas.

O procedimento a seguir usa as propriedades IsMdiContainer, AllowMerge, MergeAction e MergeIndex para inserir um grupo de itens de menu do menu filho MDI no menu suspenso do menu pai MDI. Fechar a janela filha do MDI remove os itens de menu inseridos do MDI pai.

Para inserir um MenuStrip em um menu drop-down MDI

  1. Crie um formulário e ajuste a propriedade IsMdiContainer dele para true.

  2. Adicione um MenuStrip a Form1 e defina a propriedade AllowMerge de MenuStrip para true.

  3. Adicione um item de menu de nível superior ao Form1MenuStrip e defina sua Text propriedade como &File.

  4. Adicione três itens de submenu ao item de &File menu e defina suas Text propriedades como &Open, &Import frome E&xit.

  5. Adicione dois itens de submenu ao item de &Import from submenu e defina suas Text propriedades como &Word e &Excel.

  6. Adicione um formulário ao projeto, adicione um MenuStrip ao formulário e defina a propriedade AllowMerge do Form2MenuStrip como true.

  7. Adicione um item de menu de nível superior ao Form2MenuStrip e defina sua Text propriedade como &File.

  8. Adicione itens de submenu ao menu do &FileForm2 na seguinte ordem: ToolStripSeparator, &Save, Save and &Close, e outro ToolStripSeparator.

  9. Defina a MergeAction e MergeIndex as propriedades dos itens de Form2 menu, conforme mostrado na tabela a seguir.

    Item de menu Form2 Valor mergeAction Valor mergeIndex
    Arquivo MatchOnly -1
    Separador Inserir 2
    Salvar Inserir 3
    Salvar e fechar Inserir 4
    Separador Inserir 5
  10. Criar um manipulador de eventos para o evento Click do &OpenToolStripMenuItem.

  11. 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 de 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
    
    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. Coloque um código semelhante ao exemplo de código nos &OpenToolStripMenuItem a seguir 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:

Consulte também