Procedura: inserire un MenuStrip in un menu a discesa MDI (Windows Form)

In alcune applicazioni, il tipo di una finestra figlio di interfaccia a documenti multipli (MDI, Multiple Document Interface) può essere diverso dalla finestra padre MDI. Ad esempio, il padre MDI potrebbe essere un foglio di calcolo, mentre il figlio MDI potrebbe essere un grafico. In tal caso, è consigliabile aggiornare il contenuto del menu del padre MDI con il contenuto del menu del figlio MDI in quanto vengono attivate finestre figlio MDI di tipi diversi.

La procedura seguente usa le IsMdiContainerproprietà , AllowMerge, MergeActione MergeIndex per inserire un gruppo di voci di menu dal menu figlio MDI nella parte a discesa del menu padre MDI. La chiusura della finestra figlio MDI rimuove le voci di menu inserite dall'elemento padre MDI.

Per inserire un menu MenuStrip in un menu a discesa MDI

  1. Creare un form e impostarne la proprietà IsMdiContainer su true.

  2. Aggiungere MenuStrip a Form1 e impostare la proprietà AllowMerge di MenuStrip su true.

  3. Aggiungere una voce di menu di primo livello a Form1MenuStrip e impostare la relativa proprietà Text su &File.

  4. Aggiungere tre voci di sottomenu alla &File voce di menu e impostarne Text le proprietà su &Open, &Import frome E&xit.

  5. Aggiungere due elementi del sottomenu all'elemento del &Import from sottomenu e impostarne Text le proprietà su &Word e &Excel.

  6. Aggiungere un form al progetto, aggiungere MenuStrip al form e impostare la proprietà AllowMerge del Form2MenuStrip su true.

  7. Aggiungere una voce di menu di primo livello a Form2MenuStrip e impostare la relativa proprietà Text su &File.

  8. Aggiungere voci di sottomenu al &File menu di Form2 nell'ordine seguente: , ToolStripSeparator&Save, Save and &Closee un altro ToolStripSeparator.

  9. Impostare le MergeAction proprietà e MergeIndex delle Form2 voci di menu, come illustrato nella tabella seguente.

    Voce di menu Form2 Valore MergeAction Valore MergeIndex
    file MatchOnly -1
    Separatore Inserisci 2
    Salva Inserisci 3
    Salva e chiudi Inserisci 4
    Separatore Inserisci 5
  10. Creare un gestore eventi per l'evento Click di &OpenToolStripMenuItem.

  11. Nel gestore eventi inserire codice simile all'esempio di codice riportato di seguito per creare e visualizzare nuove istanze di Form2 come finestre figlio MDI di 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. Inserire codice analogo al seguente esempio di codice nel &OpenToolStripMenuItem 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

L'esempio presenta i requisiti seguenti:

Vedi anche