Partilhar via


Passo a passo: Criando um formulário MDI com mesclagem de menu e controles ToolStrip

O namespace System.Windows.Forms oferece suporte a vários aplicativos de interface de documento (MDI) e o controle MenuStrip oferece suporte à mesclagem de menus. Os formulários MDI também podem ToolStrip controles.

Este passo a passo demonstra como usar controles ToolStripPanel com um formulário MDI. O formulário também suporta mesclagem de menus com menus filho. As seguintes tarefas são ilustradas neste passo a passo:

  • Criando um projeto do Windows Forms.

  • Criando o menu principal para o seu formulário. O nome real do menu varia.

  • Adicionar o controlo ToolStripPanel à Toolbox .

  • Criação de um formulário filho.

  • Organizando os controlos ToolStripPanel pela ordem z.

Quando terminar, você terá um formulário MDI que suporta mesclagem de menu e controles ToolStrip móveis.

Para copiar o código neste tópico como uma única listagem, consulte Como: Criar um formulário MDI com mesclagem de menu e controles ToolStrip.

Pré-requisitos

Você precisará do Visual Studio para concluir este passo a passo.

Criar o projeto

  1. No Visual Studio, crie um projeto de aplicativo do Windows chamado MdiForm (File>New>Project>Visual C# ou Visual Basic>Classic Desktop>Windows Forms Application).

  2. No Windows Forms Designer, selecione o formulário.

  3. Na janela Propriedades, defina o valor do IsMdiContainer como true.

Criar o menu principal

O formulário MDI pai contém o menu principal. O menu principal tem um item de menu chamado Window. Com o item de menu Janela , você pode criar formulários filho. Os itens de menu dos formulários-filho são integrados no menu principal.

  1. Arraste um controlo MenuStrip da Caixa de Ferramentas para o formulário.

  2. Adicione um ToolStripMenuItem ao controle MenuStrip e nomeie-o Window.

  3. Selecione o controle MenuStrip.

  4. Na janela Propriedades, defina o valor da propriedade MdiWindowListItem como ToolStripMenuItem1.

  5. Adicione um subitem ao item de menu Janela e, em seguida, nomeie o subitem Novo.

  6. Na janela Propriedades, clique em Eventos.

  7. Clique duas vezes no evento Click.

    O Windows Forms Designer gera um manipulador de eventos para o evento Click.

  8. Insira o seguinte código no manipulador de eventos.

    // This method creates a new ChildForm instance
    // and attaches it to the MDI parent form.
    private void newToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ChildForm f = new ChildForm();
        f.MdiParent = this;
        f.Text = "Form - " + this.MdiChildren.Length.ToString();
        f.Show();
    }
    
    ' This method creates a new ChildForm instance 
    ' and attaches it to the MDI parent form.
     Private Sub newToolStripMenuItem_Click( _
     ByVal sender As Object, _
     ByVal e As EventArgs) _
     Handles newToolStripMenuItem.Click
    
         Dim f As New ChildForm()
         f.MdiParent = Me
         f.Text = "Form - " + Me.MdiChildren.Length.ToString()
         f.Show()
    
     End Sub
    

Adicione o controle ToolStripPanel à caixa de ferramentas

Ao utilizares os controlos MenuStrip com um formulário MDI, deves ter o controlo ToolStripPanel. Você deve adicionar o controlo ToolStripPanel à Caixa de Ferramentas para criar o seu formulário MDI no Windows Forms Designer.

  1. Abra a caixa de ferramentas e, em seguida, clique no separador Todos os Formulários do Windows para exibir os controlos disponíveis do Windows Forms.

  2. Clique com o botão direito do mouse para abrir o menu de atalho e selecione Selecionar Itens.

  3. Na caixa de diálogo Escolher Itens da Caixa de Ferramentas, role para baixo na coluna Nome até encontrar ToolStripPanel.

  4. Marque a caixa de seleção ToolStripPanele, em seguida, clique em OK.

    O controlo ToolStripPanel aparece na caixa de ferramentas .

Criar um formulário filho

Neste procedimento, você definirá uma classe de formulário filho separada que tem seu próprio controle MenuStrip. Os itens de menu deste formulário são mesclados com os do formulário pai.

  1. Adicione um novo formulário chamado ChildForm ao projeto.

    Para obter mais informações, consulte Como adicionar Windows Forms a um projeto.

  2. Da Caixa de Ferramentas , arraste um controle MenuStrip para o formulário filho.

  3. Clique no glifo de ações do designer do controle MenuStrip (Seta preta pequena) e, em seguida, selecione Editar itens.

  4. Na caixa de diálogo Items Collection Editor, adicione um novo ToolStripMenuItem ao submenú chamado ChildMenuItem.

    Para obter mais informações, consulte ToolStrip Items Collection Editor.

Testar o formulário

  1. Pressione F5 para compilar e executar o formulário.

  2. Clique no item de menu Janela para abrir o menu e, em seguida, clique em Nova.

    Um novo formulário filho é criado na área cliente MDI do formulário. O menu do formulário filho é mesclado com o menu principal.

  3. Feche o formulário filho.

    O menu do formulário filho é removido do menu principal.

  4. Clique Novo várias vezes.

    Os formulários-filho são listados automaticamente no item de menu Window porque a propriedade MdiWindowListItem do controlo MenuStrip está atribuída.

Adicionar suporte ao ToolStrip

Neste procedimento, você adicionará quatro controles ToolStrip ao formulário pai MDI. Cada controlo ToolStrip é adicionado dentro de um controlo ToolStripPanel, que é ancorado na borda do formulário.

  1. Na Caixa de Ferramentas , arraste um controlo ToolStripPanel para o formulário.

  2. Com o controlo ToolStripPanel selecionado, clique duas vezes no controlo ToolStrip na Caixa de Ferramentas .

    Um controle ToolStrip é criado no controle ToolStripPanel.

  3. Selecione o controle ToolStripPanel.

  4. Na janela Propriedades, altere o valor da propriedade Dock do controle para Left.

    O controle de ToolStripPanel encaixa no lado esquerdo do formulário, abaixo do menu principal. A área do cliente MDI é redimensionada para se ajustar ao controle ToolStripPanel.

  5. Repita os passos 1 a 4.

    Encaixe o novo controle de ToolStripPanel na parte superior do formulário.

    O controle ToolStripPanel está encaixado abaixo do menu principal, mas à direita do primeiro controle ToolStripPanel. Esta etapa ilustra a importância da ordem z no posicionamento correto ToolStripPanel controles.

  6. Repita as etapas 1 a 4 para mais dois controles ToolStripPanel.

    Encaixe os novos controles ToolStripPanel à direita e na parte inferior do formulário.

Organizar controles ToolStripPanel por ordem Z

A posição de um controle de ToolStripPanel encaixado em seu formulário MDI é determinada pela posição do controle na ordem z. Você pode facilmente organizar a ordem z de seus controles na janela Estrutura de Tópicos do Documento.

  1. No menu Vista, clique em Outras Janelase, em seguida, clique em Estrutura de Tópicos do Documento.

    A disposição dos seus ToolStripPanel controles do procedimento anterior não é padrão. Isso ocorre porque a ordem z não está correta. Use a janela Estrutura de tópicos do documento para alterar a ordem z dos controles.

  2. Na janela de Estrutura do Documento, selecione ToolStripPanel4.

  3. Clique no botão de seta para baixo repetidamente, até que ToolStripPanel4 esteja na parte inferior da lista.

    O controlo ToolStripPanel4 está encaixado na parte inferior do formulário, abaixo dos outros controlos.

  4. Selecione ToolStripPanel2.

  5. Clique no botão de seta para baixo uma vez para posicionar o controle em terceiro lugar na lista.

    O controlo ToolStripPanel2 está encaixado na parte superior do formulário, abaixo do menu principal, e acima dos outros controlos.

  6. Selecione vários controles na janela Estrutura de Documento e mova-os para posições diferentes na ordem vertical. Observe o efeito da ordem z no posicionamento dos controles encaixados. Utilize CTRL-Z ou a opção Desfazer no menu Editar para desfazer as alterações.

Ponto de verificação - teste o seu formulário

  1. Pressione F5 para compilar e executar o formulário.

  2. Clique na pega de um controle de ToolStrip e arraste o controle para diferentes posições no formulário.

    Você pode arrastar um controle ToolStrip de um controle ToolStripPanel para outro.

Próximos passos

Nesta explicação passo a passo, você criou um formulário pai MDI com controles ToolStrip e mesclagem de menu. Você pode usar a família ToolStrip de controles para muitas outras finalidades:

Ver também