Como inserir um MenuStrip um menu suspenso 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 inserir um grupo de itens de menu do menu filho MDI na parte suspensa do menu pai MDI. Fechar a janela MDI filho remove os itens de menu inseridos do MDI pai.

Como inserir um MenuStrip em um menu suspenso MDI

  1. Crie um formulário e defina sua IsMdiContainer propriedade como true.

  2. Adicione um MenuStrip a e defina a AllowMergeForm1 propriedade do 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 AllowMerge propriedade do Form2MenuStrip para 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 &File menu de Form2 na seguinte ordem: um ToolStripSeparator, , &SaveSave and &Closee outro ToolStripSeparator.

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

    Item de menu Form2 Valor de MergeAction Valor de MergeIndex
    Arquivo MatchOnly -1
    Separador Insert 2
    Salvar Insert 3
    Salvar e Fechar Insert 4
    Separador Insert 5
  10. Crie um manipulador de eventos para o Click evento 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 código semelhante ao exemplo de código a seguir no &OpenToolStripMenuItem 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:

Confira também