Procedura dettagliata: creazione di un form MDI con unione di menu e controlli ToolStrip

Lo spazio dei nomi System.Windows.Forms supporta le applicazioni MDI (Multiple Document Interface, interfaccia a documenti multipli), mentre il controllo MenuStrip supporta l'unione di menu. I form MDI possono inoltre utilizzare i controlli ToolStrip.

In questa procedura dettagliata viene illustrato come utilizzare i controlli ToolStripPanel con un form MDI. Il form supporta anche l'unione di menu con i menu figlio. Nella procedura dettagliata verranno illustrate le seguenti attività:

  • Creazione di un progetto Windows Form

  • Creazione del menu principale del form. Il nome effettivo del menu potrà variare

  • Aggiunta del controllo ToolStripPanel alla Casella degli strumenti

  • Creazione di un form figlio

  • Disposizione dei controlli ToolStripPanel in base all'ordine Z

Al termine, si otterrà un form MDI che supporta l'unione dei menu e l'utilizzo di controlli ToolStrip mobili.

Per copiare il codice nell'argomento corrente come un elenco singolo, vedere Procedura: creare un form MDI con unione di menu e controlli ToolStrip.

Nota

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.

Prerequisiti

Per completare questa procedura dettagliata è necessario:

  • Disporre di autorizzazioni sufficienti per creare ed eseguire progetti di applicazioni Windows Form sul computer sul quale è installato Visual Studio.

Creazione del progetto

Il primo passaggio indica come creare il progetto e impostare il form.

Per creare il progetto

  1. Creare un progetto Applicazione Windows denominato MdiForm.

    Per ulteriori informazioni, vedere Procedura: creare un progetto applicazione Windows.

  2. In Progettazione Windows Form selezionare il form.

  3. Nella finestra Proprietà impostare il valore della proprietà IsMdiContainer su true.

Creazione del menu principale

Il form MDI padre contiene il menu principale. Il menu principale presenta un'unica voce di menu denominata Finestra, che può essere utilizzata per creare form figlio. Le voci di menu dei form figlio vengono unite nel menu principale.

Per creare il menu principale

  1. Dalla Casella degli strumenti trascinare un controllo MenuStrip nel form.

  2. Aggiungere un oggetto ToolStripMenuItem al controllo MenuStrip e denominarlo Finestra.

  3. Fare clic sul controllo MenuStrip.

  4. Nella finestra Proprietà impostare il valore della proprietà MdiWindowListItem su ToolStripMenuItem1.

  5. Aggiungere un elemento secondario alla voce di menu Finestra e denominarlo Nuova.

  6. Nella finestra Proprietà fare clic su Eventi.

  7. Fare doppio clic sull'evento Click.

    In Progettazione Windows Form verrà generato un gestore eventi per l'evento Click.

  8. Inserire il codice riportato di seguito nel gestore eventi.

    ' 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
    
    // 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();
    }
    

Aggiunta del controllo ToolStripPanel alla Casella degli strumenti

Quando si utilizzano controlli MenuStrip con un form MDI è necessario disporre del controllo ToolStripPanel. Per compilare il form MDI in Progettazione Windows Form occorre aggiungere il controllo ToolStripPanel alla Casella degli strumenti.

Per aggiungere il controllo ToolStripPanel alla Casella degli strumenti

  1. Aprire la Casella degli strumenti e scegliere la scheda Tutti i Windows Form per visualizzare i controlli Windows Form disponibili.

  2. Fare clic con il pulsante destro del mouse per aprire il menu di scelta rapida, quindi scegliere Scegli elementi.

  3. Nella finestra di dialogo Scegli elementi della Casella degli strumenti scorrere in basso nella colonna Nome finché non viene individuato ToolStripPanel.

  4. Selezionare la casella di controllo accanto a ToolStripPanel, quindi scegliere OK.

    Il controllo ToolStripPanel verrà visualizzato nella Casella degli strumenti.

Creazione di un form figlio

In questa procedura verrà definita una classe separata per il form figlio con un proprio controllo MenuStrip. Le voci di menu di questo form vengono unite a quelle del form padre.

Per definire un form figlio

  1. Aggiungere al progetto un nuovo form denominato ChildForm.

    Per ulteriori informazioni, vedere Procedura: aggiungere Windows Form a un progetto.

  2. Dalla Casella degli strumenti trascinare un controllo MenuStrip nel form figlio.

  3. Fare clic sul glifo dello smart tag del controllo MenuStrip (Glifo Smart Tag) e quindi selezionare Modifica elementi.

  4. Nella finestra di dialogo Editor dell'insieme Items aggiungere un nuovo oggetto ToolStripMenuItem denominato ChildMenuItem al menu figlio.

    Per ulteriori informazioni, vedere Editor dell'insieme Items di ToolStrip.

Test del form

Per eseguire il test del form

  1. Premere F5 per compilare ed eseguire il form.

  2. Scegliere Nuovo dal menu Finestra.

    Nell'area client MDI del form verrà creato un nuovo form figlio. Il menu del form figlio verrà unito al menu principale.

  3. Chiudere il form figlio.

    Il menu del form figlio verrà rimosso dal menu principale.

  4. Fare clic più volte su Nuova.

    I form figlio verranno elencati automaticamente all'interno del menu Finestra perché viene assegnata la proprietà MdiWindowListItem del controllo MenuStrip.

Aggiunta del supporto ToolStrip

In questa procedura verranno aggiunti quattro controlli ToolStrip al form MDI padre. Ciascun controllo ToolStrip verrà aggiunto all'interno di un controllo ToolStripPanel, ancorato al bordo del form.

Per aggiungere controlli ToolStrip al form MDI padre

  1. Dalla Casella degli strumenti trascinare un controllo ToolStripPanel nel form.

  2. Dopo aver selezionato il controllo ToolStripPanel, fare doppio clic sul controllo ToolStrip nella Casella degli strumenti.

    Verrà creato un controllo ToolStrip nel controllo ToolStripPanel.

  3. Fare clic sul controllo ToolStripPanel.

  4. Nella finestra Proprietà impostare il valore della proprietà Dock del controllo su Left.

    Il controllo ToolStripPanel verrà ancorato al bordo sinistro del form, al di sotto del menu principale. L'area client MDI verrà ridimensionata per adattarla al controllo ToolStripPanel.

  5. Ripetere i passaggi da 1 a 4.

    Ancorare il nuovo controllo ToolStripPanel alla parte superiore del form.

    Il controllo ToolStripPanel verrà ancorato al di sotto del menu principale, ma a destra del primo controllo ToolStripPanel. Questo passaggio dimostra l'importanza dell'ordine Z per il corretto posizionamento dei controlli ToolStripPanel.

  6. Ripetere i passaggi da 1 a 4 per due o più controlli ToolStripPanel.

    Ancorare i nuovi controlli ToolStripPanel al bordo destro e al bordo inferiore del form.

Disposizione dei controlli ToolStripPanel in base all'ordine Z

La posizione di un controllo ToolStripPanel ancorato nel form MDI è determinata dalla posizione del controllo nell'ordine Z. È possibile definire facilmente l'ordine Z dei controlli nella finestra Struttura documento.

Per disporre i controlli ToolStripPanel in base all'ordine Z

  1. Scegliere Altre finestre dal menu Visualizza, quindi fare clic su Struttura documento.

    La disposizione dei controlli ToolStripPanel ottenuta dalla procedura precedente non è quella standard, perché l'ordine Z non è corretto. Utilizzare la finestra Struttura documento per cambiare l'ordine Z dei controlli.

  2. Nella finestra Struttura documento selezionare ToolStripPanel4.

  3. Fare clic ripetutamente sulla freccia verso il basso finché ToolStripPanel4 non sarà spostato alla fine dell'elenco.

    Il controllo ToolStripPanel4 verrà ancorato al bordo inferiore del form, al di sotto degli altri controlli.

  4. Selezionare ToolStripPanel2.

  5. Fare clic una sola volta sul pulsante della freccia in basso per collocare il controllo in terza posizione nell'elenco.

    Il controllo ToolStripPanel2 verrà ancorato al bordo superiore del form, al di sotto del menu principale e al di sopra degli altri controlli.

  6. Selezionare alcuni controlli nella finestra Struttura documento e spostarli in posizioni diverse nell'ordine Z. Notare l'effetto dell'ordine Z sul posizionamento dei controlli ancorati. Premere CTRL-Z o scegliere Annulla dal menu Modifica per annullare le modifiche.

Verifica

Per eseguire il test del form

  1. Premere F5 per compilare ed eseguire il form.

  2. Fare clic sul riquadro di ridimensionamento di un controllo ToolStrip e trascinare il controllo in posizioni diverse sul form.

    È possibile trascinare un controllo ToolStrip da un controllo ToolStripPanel all'altro.

Passaggi successivi

In questa procedura dettagliata è stato creato un form MDI padre con controlli ToolStrip e unione di menu. È possibile utilizzare la famiglia di controlli ToolStrip per molte altre finalità:

Vedere anche

Attività

Procedura: creare form padre MDI

Procedura: creare form figlio MDI

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

Riferimenti

MenuStrip

ToolStrip

StatusStrip

Altre risorse

Controllo ToolStrip (Windows Form)