Compartilhar via


Como remover um ToolStripMenuItem de um menu de Drop-Down MDI (Windows Forms)

Em alguns aplicativos, o tipo de janela filha em uma interface de vários documentos (MDI) pode ser diferente da janela mãe na interface de múltiplos documentos. 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 quando são ativadas janelas filho MDI de diferentes tipos.

O procedimento a seguir usa as propriedades IsMdiContainer, AllowMerge, MergeActione MergeIndex para remover um item de menu da parte suspensa do menu pai do MDI. Fechar a janela filha do MDI restaura os itens de menu removidos no menu pai do MDI.

Para remover um MenuStrip de um menu suspenso MDI

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

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

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

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

  5. Adicione dois itens de submenu ao item de submenu &Import from e defina suas propriedades de Text 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 propriedade Text como &File.

  8. Adicione um item de submenu &Import from ao menu &File de Form2e adicione um item de submenu &Word ao menu &File.

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

    Item de menu Form2 Valor MergeAction Valor do MergeIndex
    Arquivo MatchOnly -1
    Importar de MatchOnly -1
    Palavra Retirar -1
  10. Em Form1, crie 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 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:

Consulte também