Condividi tramite


Procedura: rimuovere un ToolStripMenuItem da un menu a discesa MDI (Windows Form)

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

Nella procedura riportata di seguito sono utilizzate le proprietà IsMdiContainer, AllowMerge, MergeAction e MergeIndex per rimuovere una voce di menu dalla parte a discesa del menu del padre MDI. Se la finestra figlio MDI viene chiusa, le voci di menu rimosse dal menu del padre MDI vengono ripristinate.

Per rimuovere un MenuStrip da un menu a discesa MDI

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

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

  3. Aggiungere una voce di menu di primo livello alla classe MenuStrip di Form1 e impostarne la proprietà Text su &File.

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

  5. Aggiungere due voci di sottomenu alla voce di sottomenu &Import from e impostare le relative proprietà Text su &Word e &Excel.

  6. Aggiungere un form al progetto, aggiungere una classe MenuStrip al form e impostare la proprietà AllowMerge del MenuStrip di Form2 su true.

  7. Aggiungere una voce di menu di primo livello alla classe MenuStrip di Form2 e impostare la relativa proprietà Text su &File.

  8. Aggiungere una voce di sottomenu &Import from al menu &File di Form2 e aggiungere una voce di sottomenu &Word al menu &File.

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

    Voce di menu di Form2

    Valore di MergeAction

    Valore di MergeIndex

    File

    MatchOnly

    -1

    Import from

    MatchOnly

    -1

    Word

    Remove

    -1

  10. In Form1 creare un gestore evento per l'evento Click della classe ToolStripMenuItem di &Open.

  11. All'interno del gestore eventi inserire codice simile a quello dell'esempio riportato di seguito per creare e visualizzare nuove istanze di Form2 come istanze 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
    

    [C#]

    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 a quello dell'esempio seguente nella classe ToolStripMenuItem di &Open 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

Per questo esempio sono necessari i seguenti requisiti:

Vedere anche

Attività

Procedura: creare form padre MDI

Procedura: creare form figlio MDI

Riferimenti

Cenni preliminari sul controllo MenuStrip (Windows Form)