Condividi tramite


Procedura dettagliata: dimostrazione dell'ereditarietà visiva

L'ereditarietà visiva consente di visualizzare i controlli nel form di base e di aggiungere nuovi controlli. Tramite questa procedura dettagliata verrà creato un form di base, che verrà compilato in una libreria di classi. Questa libreria di classi verrà importata in un altro progetto e verrà creato un nuovo form che erediterà dal form di base. In particolare, vengono illustrate le seguenti operazioni:

  • Creare un progetto Libreria di classi contenente un form di base.

  • Aggiungere un pulsante con proprietà che possono essere modificate tramite le classi derivate dal form di base.

  • Aggiungere un pulsante che non può essere modificato dagli eredi del form di base.

  • Creare un progetto contenente un form che eredita da BaseForm.

Infine, tramite la procedura dettagliata verrà data dimostrazione della differenza tra controlli privati e protetti in un form ereditato.

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.

Nota di avvisoAttenzione

Non tutti i controlli supportano l'ereditarietà visiva da un form di base. Nei controlli seguenti non è supportato lo scenario descritto in questa procedura dettagliata:

    WebBrowser

    ToolStrip

    ToolStripPanel

    TableLayoutPanel

    FlowLayoutPanel

    DataGridView

Questi controlli nel form ereditato sono sempre di sola lettura indipendentemente dai modificatori utilizzati (private, protected o public).

Passaggi dello scenario

Il primo passaggio consiste nella creazione di un form di base.

Per creare un progetto Libreria di classi contenente un form di base

  1. Scegliere Nuovo dal menu File, quindi fare clic su Progetto. Verrà visualizzata la finestra di dialogo Nuovo progetto.

  2. Creare un'applicazione Windows Form denominata BaseFormLibrary. Per informazioni, vedere Procedura: creare un nuovo progetto di applicazione Windows Form.

  3. Per creare una libreria di classi anziché un'applicazione Windows Form standard, in Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo di progetto BaseFormLibrary e quindi scegliere Proprietà.

  4. Nelle proprietà del progetto, modificare il Tipo di output da Applicazione Windows a Libreria di classi.

  5. Scegliere Salva tutto dal menu File per salvare il progetto e i file nel percorso predefinito.

Le due procedure che seguono consentono di aggiungere pulsanti al form di base. Per dimostrare l'ereditarietà visiva, verranno assegnati ai pulsanti livelli di accesso diversi, impostandone le rispettive proprietà Modifiers.

Per aggiungere un pulsante modificabile dagli eredi del form di base

  1. Aprire Form1 nella finestra di progettazione.

  2. Nella scheda Tutti i Windows Form della Casella degli strumenti, fare doppio clic su Button per aggiungere un pulsante al form. Utilizzare il mouse per posizionare e ridimensionare il pulsante.

  3. Nella finestra Proprietà impostare le seguenti proprietà del pulsante:

    • Impostare la proprietà Text su Say Hello.

    • Impostare la proprietà (Name) su btnProtected.

    • Impostare la proprietà Modifiers su Protected. In questo modo si consente ai form di ereditare dal Form1 per modificare le proprietà di btnProtected.

  4. Fare doppio clic sul pulsante Say Hello per aggiungere un gestore eventi per l'evento Click.

  5. Aggiungere al gestore eventi la seguente riga di codice:

    MessageBox.Show("Hello, World!")
    
    MessageBox.Show("Hello, World!");
    

Per aggiungere un pulsante che non può essere modificato dagli eredi del form di base

  1. Passare alla visualizzazione Progettazione facendo clic sulla scheda Form1.vb [Design], Form1.cs [Design] o Form1.jsl [Design] sopra l'editor di codice oppure premendo F7.

  2. Aggiungere un secondo pulsante e impostarne le proprietà come di seguito indicato:

    • Impostare la proprietà Text su Say Goodbye.

    • Impostare la proprietà (Name) su btnPrivate.

    • Impostare la proprietà Modifiers su Private. In questo modo si impedisce ai form di ereditare da Form1 per modificare le proprietà di btnPrivate.

  3. Fare doppio clic sul pulsante Say Goodbye per aggiungere un gestore eventi per l'evento Click. Aggiungere alla routine dell'evento la seguente riga di codice:

    MessageBox.Show("Goodbye!")
    
    MessageBox.Show("Goodbye!");
    
  4. Scegliere Compila libreria BaseForm dal menu Compila per compilare la libreria di classi.

    Una volta compilata la libreria, è possibile creare un nuovo progetto che eredita dal form appena creato.

Per creare un progetto contenente un form che eredita dal form di base

  1. Nel menu File, scegliere Aggiungi e quindi Nuovo progetto per visualizzare la finestra di dialogo Aggiungi nuovo progetto.

  2. Creare un'applicazione Windows Form denominata InheritanceTest. Per informazioni, vedere Procedura: creare un nuovo progetto di applicazione Windows Form.

Per aggiungere un form ereditato

  1. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul progetto InheritanceTest, scegliere Aggiungi e selezionare quindi Nuovo elemento.

  2. Nella finestra di dialogo Aggiungi nuovo elemento, selezionare la categoria Windows Form (se si dispone di un elenco di categorie), quindi scegliere il modello Form ereditato.

  3. Lasciare inalterato il nome predefinito Form2 e fare clic su Aggiungi.

  4. Nella finestra di dialogo Selezione ereditarietà selezionare Form1 dal progetto BaseFormLibrary come form da cui ereditare, quindi scegliere OK.

    In questo modo viene creato un form nel progetto InheritanceTest che deriva dal form in BaseFormLibrary.

  5. Nella finestra di progettazione fare doppio clic sul form ereditato (Form2) per aprirlo, nel caso in cui non lo sia.

    I pulsanti ereditati, nella finestra di progettazione, vengono contrassegnati con un simbolo (Schermata VisualBasicInheritanceSymbol) nell'angolo superiore, che indica per l'appunto che sono ereditati.

  6. Fare clic sul pulsante Say Hello. Verranno visualizzati i quadratini di ridimensionamento. Poiché questo pulsante è protetto, gli eredi possono spostarlo, ridimensionarlo, cambiarne la didascalia e apportare altre modifiche.

  7. Fare clic sul pulsante privato Say Goodbye. In questo caso non viene visualizzato alcun quadratino di ridimensionamento. Inoltre, nella finestra Proprietà le proprietà di questo pulsante vengono visualizzate in grigio, a indicare che non possono essere modificate.

  8. Se si utilizza Visual C#:

    1. In Esplora soluzioni, fare clic con il pulsante destro del mouse su Form1 nel progetto InheritanceTest e quindi scegliere Elimina. Nella finestra di messaggio visualizzata, scegliere OK per confermare l'eliminazione.

    2. Aprire il file Program.cs e modificare la riga Application.Run(new Form1()); in Application.Run(new Form2());.

  9. Fare clic con il pulsante destro del mouse sul progetto InheritanceTest in Esplora soluzioni e scegliere Imposta come progetto di avvio.

  10. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul progetto InheritanceTest e scegliere Proprietà.

  11. Nelle pagine delle proprietà di InheritanceTest, impostare l'Oggetto di avvio come form ereditato (Form2).

  12. Premere F5 per eseguire l'applicazione e osservare il comportamento del form ereditato.

Passaggi successivi

L'ereditarietà per i controlli utente funziona più o meno allo stesso modo. Aprire un nuovo progetto Libreria di classi e aggiungere un controllo utente. Inserirvi i controlli costitutivi e compilare il progetto. Aprire un altro progetto Libreria di classi e aggiungere un riferimento alla libreria di classi compilata. Tentare anche di aggiungere al progetto un controllo ereditato, tramite la finestra di dialogo Aggiungi nuovo elemento e di utilizzare Selezione ereditarietà. Aggiungere un controllo utente e modificare l'istruzione Inherits (: in Visual C#). Per ulteriori informazioni, vedere Procedura: ereditare Windows Form.

Vedere anche

Attività

Procedura: ereditare Windows Form

Riferimenti

Finestra di dialogo Selezione ereditarietà

Procedure dettagliate su Windows Form

Altre risorse

Ereditarietà visiva di Windows Form

Windows Form

Cronologia delle modifiche

Data

Cronologia

Motivo

Settembre 2010

Correzione di un passaggio.

Commenti e suggerimenti dei clienti.