Condividi tramite


Procedura dettagliata: Creazione di un modulo MDI con unione di menu e controlli ToolStrip

Lo spazio dei nomi System.Windows.Forms supporta più applicazioni MDI (Document Interface) e il controllo MenuStrip supporta l'unione dei menu. I moduli MDI possono anche ToolStrip controlli.

Questa procedura dettagliata illustra come usare i controlli ToolStripPanel con una finestra MDI. Il modulo supporta anche la fusione dei menu con i menu figlio. In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Creazione di un progetto Windows Form.

  • Creazione del menu principale per il modulo. Il nome effettivo del menu varia.

  • Aggiunta del controllo ToolStripPanel alla casella degli strumenti .

  • Creazione di un modulo figlio.

  • Disposizione dei controlli ToolStripPanel in base all'ordine z.

Al termine, disporrai di un modulo MDI che supporta l'unione dei menu e i controlli mobili ToolStrip.

Per copiare il codice in questo argomento come elenco singolo, consultare Procedura: Creare un modulo MDI con fusione dei menu e controlli ToolStrip.

Prerequisiti

Per completare questa procedura dettagliata, avrai bisogno di Visual Studio.

Creare il progetto

  1. In Visual Studio creare un progetto di applicazione Windows denominato MdiForm (File>Nuovo progetto>>Visual C# o Visual Basic>Desktop classico>Windows Forms Application).

  2. In Progettazione Windows Form selezionare il modulo.

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

Creare il menu principale

Il modulo MDI padre contiene il menu principale. Il menu principale include una voce di menu denominata Window. Con la voce di menu finestra , è possibile creare moduli figlio. Le voci di menu dei moduli figlio vengono unite nel menu principale.

  1. Dalla casella degli strumenti , trascinare un controllo MenuStrip sul form.

  2. Aggiungi un ToolStripMenuItem al controllo MenuStrip e chiamalo Finestra .

  3. Selezionare il 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 quindi dare il nome all'elemento secondario Nuovo.

  6. Nella finestra Proprietà, clicca su Eventi.

  7. Fare doppio clic sull'evento Click.

    Il designer di Windows Forms genera un gestore di eventi per l'evento Click.

  8. Inserire il codice seguente nel gestore eventi.

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

Aggiungere il controllo ToolStripPanel alla casella degli strumenti

Quando si usano controlli MenuStrip con un modulo MDI, è necessario disporre del controllo ToolStripPanel. È necessario aggiungere il controllo ToolStripPanel alla casella degli strumenti per compilare il modulo MDI in Progettazione Windows Form.

  1. Aprire la casella degli strumenti , quindi fare clic sulla scheda Tutti i controlli 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 e scegliere Scegliere elementi.

  3. Nella finestra di dialogo Scegli elementi della casella degli strumenti scorrere verso il basso nella colonna nome fino a trovare ToolStripPanel.

  4. Selezionare la casella di controllo ToolStripPanele quindi fare clic su OK.

    Il controllo ToolStripPanel viene visualizzato nella casella degli strumenti .

Creare un modulo figlio

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

  1. Aggiungere un nuovo modulo denominato ChildForm al progetto.

    Per ulteriori informazioni, vedere Procedura: Aggiungere Windows Forms a un progetto.

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

  3. Fare clic sul glifo delle azioni del progettista del controllo MenuStrip (piccola freccia nera), quindi selezionare Modifica elementi.

  4. Nella finestra di dialogo editor raccolta elementi aggiungere un nuovo denominato ChildMenuItem al menu figlio.

    Per ulteriori informazioni, consultare ToolStrip Items Collection Editor.

Testare il modulo

  1. Premere F5 per compilare ed eseguire il modulo.

  2. Fare clic sulla voce di menu finestra per aprire il menu e quindi fare clic su Nuovo.

    Viene creato un nuovo modulo figlio nell'area client MDI del modulo. Il menu del modulo figlio viene unito al menu principale.

  3. Chiudi il modulo figlio.

    Il menu del modulo figlio viene rimosso dal menu principale.

  4. Fare clic più volte su Nuovo.

    I moduli figlio vengono elencati automaticamente sotto la voce di menu Finestra perché viene assegnata la proprietà MdiWindowListItem del controllo MenuStrip.

Aggiungere il supporto ToolStrip

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

  1. Dalla casella degli strumenti , trascinare un controllo ToolStripPanel nel modulo.

  2. Con il controllo ToolStripPanel selezionato, fare doppio clic sul controllo ToolStrip nella casella degli strumenti .

    Un controllo ToolStrip viene creato nel controllo ToolStripPanel.

  3. Selezionare il controllo ToolStripPanel.

  4. Nella finestra Proprietà modificare il valore della proprietà Dock del controllo in Left.

    Il controllo ToolStripPanel si aggancia sul lato sinistro del modulo, sotto il menu principale. L'area cliente MDI si ridimensiona per adattarsi al controllo ToolStripPanel.

  5. Ripetere i passaggi da 1 a 4.

    Ancorare il nuovo controllo ToolStripPanel nella parte superiore del modulo.

    Il controllo ToolStripPanel è ancorato sotto il menu principale, ma posizionato a destra del primo controllo ToolStripPanel. Questo passaggio illustra l'importanza dell'ordine z nel posizionamento corretto dei controlli ToolStripPanel.

  6. Ripetere i passaggi da 1 a 4 per ripetere due volte il controllo ToolStripPanel.

    Ancorare i nuovi controlli ToolStripPanel a destra e in basso al form.

Disporre i controlli ToolStripPanel per ordine Z

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

  1. Nel menu Visualizza, fare clic su Altre finestree quindi su Struttura documento.

    La disposizione dei controlli ToolStripPanel della procedura precedente non è standard. Questo perché l'ordine z non è corretto. Utilizzare la finestra Struttura documento per modificare l'ordine z dei controlli.

  2. Nella finestra Struttura documento, selezionare ToolStripPanel4.

  3. Fare clic ripetutamente sul pulsante freccia giù, fino a quando ToolStripPanel4 è in fondo all'elenco.

    Il controllo ToolStripPanel4 è ancorato alla parte inferiore del modulo, sotto gli altri controlli.

  4. Selezionare ToolStripPanel2.

  5. Fare clic sul pulsante freccia giù una volta per posizionare il terzo controllo nell'elenco.

    Il controllo ToolStripPanel2 è ancorato alla parte superiore del modulo, sotto il menu principale e sopra gli altri controlli.

  6. Selezionare vari controlli nella finestra Struttura documento e spostarli in posizioni diverse nell'ordine z. Si noti l'effetto dell'ordine z sul posizionamento dei controlli ancorati. Usare CTRL-Z o Annullare nel menu Modifica per annullare le modifiche.

Checkpoint - testa il modulo

  1. Premere F5 per compilare ed eseguire il modulo.

  2. Cliccare sulla maniglia di un controllo ToolStrip e trascinare il controllo in posizioni diverse nel modulo.

    È possibile trascinare un controllo ToolStrip da un controllo ToolStripPanel a un altro.

Passaggi successivi

In questa procedura, hai creato un modulo principale MDI con controlli ToolStrip e fusione dei menu. È possibile usare la famiglia di controlli ToolStrip per molti altri scopi:

Vedere anche