Condividi tramite


Creazione e utilizzo di componenti in Visual Basic

Un componente è una classe che implementa l'interfaccia System.ComponentModel.IComponent o che deriva direttamente o indirettamente da una classe che implementa IComponent. Un componente .NET Framework è un oggetto riutilizzabile che interagisce con altri oggetti, consente di esercitare il controllo sulle risorse esterne e fornisce supporto in fase di progettazione.

Una funzionalità importante dei componenti è che sono progettabili, pertanto una classe che rappresenta un componente può essere utilizzata nell'ambiente di sviluppo integrato di Visual Studio. I componenti possono essere aggiunti alla Casella degli strumenti, trascinati e rilasciati su un form nonché modificati su una superficie di progettazione. Si noti che il supporto base per la fase di progettazione per i componenti è incorporato in .NET Framework. La fruizione di tale supporto non richiede allo sviluppatore di componenti alcun intervento aggiuntivo.

I controlli sono simili ai componenti poiché anch'essi sono progettabili. Al contrario dei componenti, tuttavia, i controlli forniscono un'interfaccia utente. Un controllo deve derivare da una delle classi di controlli di base: Control o Control.

Quando creare un componente

Se la classe verrà utilizzata su un'area di progettazione, quale la finestra di progettazione di Windows Form o di Web Form, ma è priva di interfaccia utente, deve essere un componente e implementare IComponent oppure derivare da una classe che implementa direttamente o indirettamente IComponent.

Le classi Component e MarshalByValueComponent sono implementazioni base dell'interfaccia IComponent. La principale differenza fra queste classi risiede nel fatto che la classe Component è sottoposta al marshalling per riferimento, mentre la classe IComponent al marshalling per valore. Nell'elenco che segue vengono fornite indicazioni di massima per l'implementazione.

  • Se è necessario sottoporre un componente al marshalling per riferimento, eseguire una derivazione da Component.

  • Se è necessario sottoporre un componente al marshalling per valore, eseguire una derivazione da MarshalByValueComponent.

  • Se a causa dell'ereditarietà singola non è possile eseguire una derivazione del componente da una delle implementazioni base, implementare IComponent.

Per ulteriori informazioni sul supporto di base in fase di progettazione, vedere Attributi per componenti in fase di progettazione e Estensione del supporto in fase di progettazione.

Classi di componenti

Lo spazio dei nomi System.ComponentModel fornisce classi che vengono utilizzate per implementare il comportamento di componenti e controlli in fase di esecuzione e in fase di progettazione. In questo spazio dei nomi sono comprese le classi base e le interfacce per l'implementazione di convertitori di attributo e tipo, associazioni a origini dati e componenti relativi alle licenze.

Le principali classi di componenti sono le seguenti:

Di seguito sono riportate alcune delle classi utilizzate per le licenze relative ai componenti.

Classi maggiormente utilizzate per descrivere e rendere permanenti i componenti.

  • TypeDescriptor. Fornisce informazioni sulle caratteristiche di un componente, quali attributi, proprietà ed eventi.

  • EventDescriptor. Fornisce informazioni su un evento.

  • PropertyDescriptor. Fornisce informazioni relative a una proprietà.

Sezioni correlate

Vedere anche

Attività

Procedura: accedere al supporto in fase di progettazione in Windows Form

Procedura: estendere l'aspetto e il comportamento di controlli in modalità progettazione

Procedura: eseguire un'inizializzazione personalizzata per i controlli in modalità progettazione