Como acrescentar um MenuStrip a uma janela pai 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 acrescentar o menu filho MDI ao menu pai MDI. Fechar a janela filho MDI remove o menu acrescentado do MDI pai.
Consulte também Aplicativos MDI (Interface de Vários Documentos).
Acrescentar um item de menu a um pai MDI
Crie um formulário e defina sua IsMdiContainer propriedade como
true
.Adicione um MenuStrip a e defina a AllowMerge
Form1
propriedade do MenuStrip paratrue
.Adicione um item de menu de nível superior ao
Form1
MenuStrip e defina sua Text propriedade como&File
.Adicione um item de submenu ao item de
&File
menu e defina sua Text propriedade como&Open
.Adicione um formulário ao projeto, adicione um MenuStrip ao formulário e defina a AllowMerge propriedade do
Form2
MenuStrip paratrue
.Adicione um item de menu de nível superior ao
Form2
MenuStrip e defina sua Text propriedade como&Special
.Adicione dois itens de submenu ao item de
&Special
menu e defina suas Text propriedades comoCommand&1
eCommand&2
, respectivamente.Defina a MergeAction
&Special
propriedade dos itens de menu ,Command&1
eCommand&2
como Append.Crie um manipulador de eventos para o Click evento do
&Open
ToolStripMenuItem.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 deForm1
.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(); }
Coloque código semelhante ao exemplo de código a seguir no
&Open
ToolStripMenuItem 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:
Dois Form controles chamados
Form1
eForm2
.Um MenuStrip controle em named e um MenuStrip controle em
Form1
Form2
namedmenuStrip1
menuStrip2
.Referências aos assemblies System e System.Windows.Forms.
.NET Desktop feedback
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de