Consigli sui tipi di controlli

Con .NET Framework è possibile sviluppare e implementare nuovi controlli. Oltre al controllo utente già noto, è ora possibile scrivere controlli personalizzati in grado di eseguire il relativo disegno, nonché estendere la funzionalità dei controlli esistenti tramite l'ereditarietà. Decidere quale tipo di controllo creare può generare una certa confusione. In questa sezione verranno evidenziate le differenze tra i vari tipi di controlli da cui è possibile ereditare e saranno presentate alcune considerazioni relative al tipo di controllo da scegliere in base allo specifico progetto.

Nota

Per modificare un controllo da utilizzare in Web Form, vedere Sviluppo di controlli server ASP.NET personalizzati.

Eredità da un controllo Windows Form

È possibile derivare un controllo ereditato da qualsiasi controllo Windows Form esistente. Questo meccanismo consente di mantenere tutta la funzionalità inerente a un controllo Windows Form e di estenderla mediante l'aggiunta di proprietà, metodi o altre funzionalità personalizzate. È ad esempio possibile creare un controllo derivato da TextBox in grado di accettare solo numeri e di convertire automaticamente l'input in un valore. Tale controllo può contenere codice di convalida chiamato ogni volta che si modifica il testo nella casella di testo e disporre di una proprietà aggiuntiva, Value. Alcuni controlli consentono di fornire un aspetto personalizzato all'interfaccia grafica del controllo mediante l'override del metodo OnPaint della classe base.

L'eredità da un controllo Windows Form risulta utile quando:

  • La maggior parte delle funzionalità necessarie sono identiche a un controllo Windows Form esistente.

  • Non è necessario disporre di un'interfaccia grafica personalizzata o si desidera progettare un nuovo front-end grafico per un controllo esistente.

Eredità dalla classe UserControl

Un controllo utente è un insieme di controlli Windows Form incapsulati in un contenitore comune, in cui è contenuta tutta la funzionalità inerente associata a ciascuno dei controlli Windows Form e che consente di esporre e associare le proprietà in modo selettivo. Un esempio di controllo utente è dato da un controllo compilato per visualizzare i dati di indirizzo di un cliente contenuti in un database. Questo controllo include varie caselle di testo per visualizzare ogni campo e controlli Button per passare da un record all'altro. È possibile esporre le proprietà di associazione dati in modo selettivo, nonché inserire il controllo in un package e riutilizzarlo in più applicazioni.

L'eredità dalla classe UserControl risulta utile quando:

  • Si desidera combinare la funzionalità di vari controlli Windows Form in una singola unità riutilizzabile.

Eredità dalla classe Control

Un altro metodo di creazione di un controllo consiste nel crearlo praticamente dal nulla ereditando dalla classe Control, che fornisce tutte le funzionalità di base richieste da controlli, ad esempio gli eventi, ma non le funzionalità specifiche dei controlli o l'interfaccia grafica. La creazione di un controllo mediante eredità dalla classe Control richiede un lavoro più complesso rispetto all'eredità dal controllo utente o da un controllo di Windows Form esistente. L'autore deve scrivere il codice per l'evento OnPaint del controllo, nonché l'eventuale codice specifico della funzionalità richiesto. È consentita una maggiore flessibilità, tuttavia, ed è possibile personalizzare un controllo in base a esigenze specifiche. Un esempio di controllo personalizzato è dato da un controllo che duplica l'aspetto e il funzionamento di un orologio analogico. Il richiamo del disegno personalizzato farà muovere le lancette dell'orologio in risposta agli eventi Tick di un componente Timer interno.

L'eredità dalla classe Control risulta utile quando:

  • Si desidera fornire una rappresentazione grafica personalizzata del controllo.

  • È necessario implementare funzionalità personalizzate che non sono disponibili nei controlli standard.

Topic Location
Procedura: creare un controllo Windows Form che utilizza le funzionalità di progettazione .NET Framework: Sviluppo di applicazioni
Procedura: ereditare dalla classe UserControl Controlli Windows Form
Procedura: allineare un controllo ai bordi dei form in fase di progettazione Controlli Windows Form
Procedura: modificare controlli compositi Controlli Windows Form
Procedura: specificare una bitmap nella casella degli strumenti per un controllo Controlli Windows Form
Procedura dettagliata: eredità da un controllo di Windows Form con Visual C# Controlli Windows Form
Procedura dettagliata: debug di controlli di Windows Form personalizzati in fase di progettazione Controlli Windows Form
Procedura: ereditare da controlli di Windows Form esistenti Controlli Windows Form
Procedura: visualizzare un controllo nella finestra di dialogo Personalizza Casella degli strumenti Controlli Windows Form
Procedura dettagliata: modifica di un controllo composito con Visual C# Controlli Windows Form
Procedura dettagliata: modifica di un controllo composito con Visual Basic Controlli Windows Form
Procedura: creare controlli per Windows Form Controlli Windows Form
Procedura: ereditare dalla classe Control Controlli Windows Form
Procedura dettagliata: eredità da un controllo Windows Form con Visual Basic Controlli Windows Form
Procedura dettagliata: serializzazione di insiemi di tipi standard tramite DesignerSerializationVisibilityAttribute Controlli Windows Form
Procedura: eseguire il test del comportamento in fase di esecuzione di UserControl Controlli Windows Form
Procedura: creare un controllo Windows Form che utilizza le funzionalità di progettazione .NET Framework: Sviluppo di applicazioni
Procedura: visualizzare un controllo nella finestra di dialogo Personalizza Casella degli strumenti Controlli Windows Form
Procedura dettagliata: serializzazione di insiemi di tipi standard tramite DesignerSerializationVisibilityAttribute Controlli Windows Form
Procedura dettagliata: eredità da un controllo di Windows Form con Visual C# Controlli Windows Form
Procedura: specificare una bitmap nella casella degli strumenti per un controllo Controlli Windows Form
Procedura: ereditare da controlli di Windows Form esistenti Controlli Windows Form
Procedura dettagliata: debug di controlli di Windows Form personalizzati in fase di progettazione Controlli Windows Form
Procedura: ereditare dalla classe Control Controlli Windows Form
Procedura: eseguire il test del comportamento in fase di esecuzione di UserControl Controlli Windows Form
Procedura: allineare un controllo ai bordi dei form in fase di progettazione Controlli Windows Form
Procedura: ereditare dalla classe UserControl Controlli Windows Form
Procedura: creare controlli per Windows Form Controlli Windows Form
Procedura: modificare controlli compositi Controlli Windows Form
Procedura dettagliata: modifica di un controllo composito con Visual Basic Controlli Windows Form
Procedura dettagliata: modifica di un controllo composito con Visual C# Controlli Windows Form
Procedura dettagliata: eredità da un controllo Windows Form con Visual Basic Controlli Windows Form
Procedura: creare un controllo Windows Form che utilizza le funzionalità di progettazione .NET Framework: Sviluppo di applicazioni
Procedura: visualizzare un controllo nella finestra di dialogo Personalizza Casella degli strumenti Controlli Windows Form
Procedura dettagliata: serializzazione di insiemi di tipi standard tramite DesignerSerializationVisibilityAttribute Controlli Windows Form
Procedura dettagliata: eredità da un controllo di Windows Form con Visual C# Controlli Windows Form
Procedura: specificare una bitmap nella casella degli strumenti per un controllo Controlli Windows Form
Procedura: ereditare da controlli di Windows Form esistenti Controlli Windows Form
Procedura dettagliata: debug di controlli di Windows Form personalizzati in fase di progettazione Controlli Windows Form
Procedura: ereditare dalla classe Control Controlli Windows Form
Procedura: eseguire il test del comportamento in fase di esecuzione di UserControl Controlli Windows Form
Procedura: allineare un controllo ai bordi dei form in fase di progettazione Controlli Windows Form
Procedura: ereditare dalla classe UserControl Controlli Windows Form
Procedura: creare controlli per Windows Form Controlli Windows Form
Procedura: modificare controlli compositi Controlli Windows Form
Procedura dettagliata: modifica di un controllo composito con Visual Basic Controlli Windows Form
Procedura dettagliata: modifica di un controllo composito con Visual C# Controlli Windows Form
Procedura dettagliata: eredità da un controllo Windows Form con Visual Basic Controlli Windows Form
Procedura: creare un controllo Windows Form che utilizza le funzionalità di progettazione dv_fxdeveloping
Procedura: visualizzare un controllo nella finestra di dialogo Scegli elementi della Casella degli strumenti dv_mclictl
Procedura dettagliata: serializzazione di insiemi di tipi standard tramite DesignerSerializationVisibilityAttribute dv_mclictl
Procedura dettagliata: eredità da un controllo di Windows Form con Visual C# dv_mclictl
Procedura: specificare una bitmap nella casella degli strumenti per un controllo dv_mclictl
Procedura: ereditare da controlli di Windows Form esistenti dv_mclictl
Procedura dettagliata: debug di controlli di Windows Form personalizzati in fase di progettazione dv_mclictl
Procedura: ereditare dalla classe Control dv_mclictl
Procedura: eseguire il test del comportamento in fase di esecuzione di UserControl dv_mclictl
Procedura: allineare un controllo ai bordi dei form in fase di progettazione dv_mclictl
Procedura: ereditare dalla classe UserControl dv_mclictl
Procedura: creare controlli per Windows Form dv_mclictl
Procedura: modificare controlli compositi dv_mclictl
Procedura dettagliata: modifica di un controllo composito con Visual Basic dv_mclictl
Procedura dettagliata: modifica di un controllo composito con Visual C# dv_mclictl
Procedura dettagliata: eredità da un controllo Windows Form con Visual Basic dv_mclictl
Procedura: creare un controllo Windows Form che utilizza le funzionalità di progettazione dv_fxdeveloping

Vedere anche

Attività

Procedura: sviluppare un controllo di Windows Form semplice

Concetti

Tipi di controlli personalizzati