Procedura: Inserire un MenuStrip in un menu MDI Drop-Down (Windows Forms)
In alcune applicazioni, il tipo di finestra figlio MDI (Multiple Document Interface) può essere diverso dalla finestra padre MDI. Ad esempio, l'elemento padre MDI potrebbe essere un foglio di calcolo e il figlio MDI potrebbe essere un grafico. In tal caso, è necessario aggiornare il contenuto del menu del MDI genitore con il contenuto del menu del MDI figlio, man mano che vengono attivate le finestre figlio MDI di tipi diversi.
Nella procedura seguente vengono utilizzate le proprietà IsMdiContainer, AllowMerge, MergeActione MergeIndex per inserire un gruppo di voci di menu dal menu figlio MDI nella sezione a discesa del menu principale MDI. La chiusura della finestra figlio MDI rimuove le voci di menu inserite dalla finestra padre MDI.
Per inserire un MenuStrip in un menu a discesa MDI
Creare un modulo e impostare la proprietà IsMdiContainer su
true
.Aggiungere un MenuStrip a
Form1
e impostare la proprietà AllowMerge del MenuStrip sutrue
.Aggiungere una voce di menu di primo livello alla
Form1
MenuStrip e impostarne la proprietà Text su&File
.Aggiungere tre sottomenu alla voce di menu
&File
e impostare le relative proprietà di Text su&Open
,&Import from
eE&xit
.Aggiungere due elementi del sottomenu all'elemento del sottomenu
&Import from
e impostarne le proprietà Text su&Word
e&Excel
.Aggiungere un modulo al progetto, aggiungere un MenuStrip al modulo e impostare la proprietà AllowMerge del
Form2
MenuStrip atrue
.Aggiungere una voce di menu di primo livello alla
Form2
MenuStrip e impostarne la proprietà Text su&File
.Aggiungere elementi del sottomenu al menu
&File
diForm2
nell'ordine seguente: un ToolStripSeparator,&Save
,Save and &Close
e un altro ToolStripSeparator.Impostare le proprietà MergeAction e MergeIndex delle voci di menu
Form2
, come illustrato nella tabella seguente.Voce di menu Form2 Valore MergeAction Valore MergeIndex File MatchOnly -1 Separatore Inserire 2 Salvare Inserire 3 Salva e chiudi Inserire 4 Separatore Inserire 5 Creare un gestore eventi per l'evento Click del
&Open
ToolStripMenuItem.All'interno del gestore eventi inserire codice simile all'esempio di codice seguente per creare e visualizzare nuove istanze di
Form2
come elementi figlio MDI diForm1
.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(); }
Inserire codice simile all'esempio di codice seguente nel
&Open
ToolStripMenuItem per registrare il gestore eventi.Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
Compilazione del codice
Questo esempio richiede:
Due controlli Form chiamati
Form1
eForm2
.Controllo MenuStrip su
Form1
chiamatomenuStrip1
e un controllo MenuStrip suForm2
chiamatomenuStrip2
.Riferimenti agli assembly System e System.Windows.Forms.
Vedere anche
.NET Desktop feedback