Instruções passo a passo: criando um formulário MDI com mesclagem de menu e controles ToolStrip
O System.Windows.Forms namespace oferece suporte a vários aplicativos de interface de documento (MDI) e o controle oferece suporte à MenuStrip mesclagem de menus. Formulários MDI também ToolStrip podem controlar.
Este passo a passo demonstra como usar ToolStripPanel controles com um formulário MDI. O formulário também dá suporte à mesclagem com menus filho. As seguintes tarefas são ilustradas nesta instrução passo a passo:
Criando um projeto dos Windows Forms.
Criando o menu principal do formulário. O nome real do menu variará.
Adicionando o ToolStripPanel controle à caixa de ferramentas.
Criando um formulário filho.
Organizando ToolStripPanel controles por ordem z.
Quando terminar, você terá um formulário MDI que suporta mesclagem de menus e controles móveis ToolStrip .
Para copiar o código neste tópico como uma única lista, 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
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).
No Designer de Formulários do Windows, selecione o formulário.
Na janela Propriedades, defina o valor de como IsMdiContainer
true
.
Criar o menu principal
O formulário MDI pai contém o menu principal. O menu principal tem um item de menu chamado Janela. Com o item de menu Janela, você pode criar formulários filho. Os itens de menu de formulários filho são mesclados no menu principal.
Na Caixa de Ferramentas, arraste um MenuStrip controle para o formulário.
Adicione um ToolStripMenuItem ao MenuStrip controle e nomeie-o como Janela.
Selecione o controle MenuStrip.
Na janela Propriedades, defina o MdiWindowListItem valor da propriedade como
ToolStripMenuItem1
.Adicione um subitem no item de menu Janela e nomeie o subitem como Novo.
Na janela Propriedades, clique em Eventos.
Clique duas vezes no Click evento.
O Windows Forms Designer gera um manipulador de eventos para o Click evento.
Adicione o seguinte código ao 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
Adicionar o controle ToolStripPanel à caixa de ferramentas
Quando você usa MenuStrip controles com um formulário MDI, você deve ter o ToolStripPanel controle. Você deve adicionar o ToolStripPanelcontrole à caixa de ferramentas para criar seu formulário MDI no Windows Forms Designer.
Abra a caixa de ferramentas e, em seguida, clique na guia Todos os Windows Forms para mostrar os controles dos Windows Forms disponíveis.
Clique com o botão direito do mouse para abrir o menu de atalho e selecione Escolher Itens.
Na caixa de diálogo Escolher Itens da Caixa de Ferramentas, role para baixo a coluna Nome até encontrar ToolStripPanel.
Marque a caixa de seleção por ToolStripPanele, em seguida, clique em OK.
O ToolStripPanel controle aparece na caixa de ferramentas.
Criar um formulário filho
Neste procedimento, você definirá uma classe de formulário filho separada que tenha seu próprio MenuStrip controle. Os itens de menu para esse formulário são mesclados com as do formulário pai.
Adicione um novo formulário chamado
ChildForm
ao projeto.Para obter mais informações, consulte Como adicionar o Windows Forms a um projeto.
Na Caixa de Ferramentas, arraste um MenuStrip controle para o formulário filho.
Clique no glifo MenuStrip de ações de designer do controle () e selecione Editar Itens.
Na caixa de diálogo Editor de Coleção de Itens, adicione um novo ToolStripMenuItem chamado ChildMenuItem ao menu filho.
Para obter mais informações, consulte Editor de Coleção dos Itens ToolStrip.
Testar o formulário
Pressione F5 para compilar e executar o formulário.
Clique no item de menu Janela para abrir o menu e, em seguida, clique em Novo.
Um novo formulário filho é criado na área de cliente do MDI do formulário. O menu do formulário filho será mesclado com o menu principal.
Feche o formulário filho.
O menu do formulário filho será removido do menu principal.
Clique em Novo várias vezes.
Os formulários filho são listados automaticamente no item de menu Janela porque a MenuStrip propriedade do MdiWindowListItem controle é atribuída.
Adicionar suporte ao ToolStrip
Neste procedimento, você adicionará quatro ToolStrip controles ao formulário pai MDI. Cada ToolStrip controle é adicionado dentro de um ToolStripPanel controle, que é encaixado na borda do formulário.
Na Caixa de Ferramentas, arraste um ToolStripPanel controle para o formulário.
Com o ToolStripPanel controle selecionado, clique duas vezes no ToolStrip controle na caixa de ferramentas.
Um ToolStrip controle é criado no ToolStripPanel controle.
Selecione o controle ToolStripPanel.
Na janela Propriedades, altere o valor da propriedade do Dock controle para Left.
O ToolStripPanel controle encaixa no lado esquerdo do formulário, abaixo do menu principal. A área do cliente MDI é redimensionada para se ajustar ao ToolStripPanel controle.
Repita as etapas de 1 a 4.
Encaixe o novo ToolStripPanel controle na parte superior do formulário.
O ToolStripPanel controle está encaixado abaixo do menu principal, mas à direita do primeiro ToolStripPanel controle. Esta etapa ilustra a importância da ordem z no posicionamento ToolStripPanel correto dos controles.
Repita as etapas 1 a 4 para mais ToolStripPanel dois controles.
Encaixe os novos ToolStripPanel controles à direita e na parte inferior do formulário.
Organizar controles ToolStripPanel por ordem Z
A posição de um controle encaixado ToolStripPanel em seu formulário MDI é determinada pela posição do controle na ordem z. Você pode facilmente organizar a ordem z dos controles na janela de estrutura de tópicos do documento.
No menu Exibir, clique em Outras janelas e clique em Estrutura de Tópicos do Documento.
A disposição dos controles ToolStripPanel do procedimento anterior não é padrão. Isso ocorre porque a ordem z não está correta. Use a janela de estrutura de tópicos do documento para alterar a ordem z de controles.
Na janela de estrutura de tópicos do documento, selecione ToolStripPanel4.
Clique no botão de seta para baixo repetidamente, até ToolStripPanel4 estar na parte inferior da lista.
O controle ToolStripPanel4 é encaixado na parte inferior do formulário, sob outros controles.
Selecione ToolStripPanel2.
Clique no botão de seta para baixo uma vez para posicionar o controle em terceiro lugar na lista.
O controle ToolStripPanel2 é encaixado à parte superior do formulário, abaixo do menu principal e acima de outros controles.
Selecione vários controles da janela Estrutura de Tópicos do Documento e mova-os em diferentes posições na ordem z. Observe o efeito da ordem z no posicionamento de controles encaixados. Use CTRL-Z ou Desfazer no menu Editar para desfazer as alterações.
Ponto de verificação - teste seu formulário
Pressione F5 para compilar e executar o formulário.
Clique na aderência de um ToolStrip controle e arraste-o para diferentes posições no formulário.
Você pode arrastar um controle de um ToolStripToolStripPanel controle para outro.
Próximas etapas
Neste passo a passo, você criou um formulário pai MDI com ToolStrip controles e mesclagem de menus. Você pode usar a ToolStrip família de controles para muitas outras finalidades:
Crie menus de atalho para seus controles com ContextMenuStripo . Para obter mais informações, consulte Visão geral do componente ContextMenu.
Foi criado um formulário com um menu padrão preenchido automaticamente. Para mais informações, consulte Instruções passo a passo: fornecendo itens de menu padrão para um formulário.
Dê aos seus ToolStrip controles uma aparência profissional. Para obter mais informações, consulte Como definir o renderizador ToolStrip para um aplicativo.
Confira também
.NET Desktop feedback