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 è un oggetto riutilizzabile, può interagire con altri oggetti e fornisce il controllo sulle risorse esterne e sul supporto in fase di progettazione.

Una funzionalità importante dei componenti è che sono progettabili, il che significa che una classe che è un componente può essere usata nell'ambiente di sviluppo integrato di Visual Studio. Un componente può essere aggiunto alla Toolbox, trascinato e rilasciato in una maschera e manipolato in un'area di progettazione. Il supporto della fase di progettazione di base per i componenti è integrato in .NET. Uno sviluppatore di componenti non deve eseguire operazioni aggiuntive per sfruttare le funzionalità della fase di progettazione di base.

Un controllo è simile a un componente, poiché entrambi sono progettabili. Tuttavia, un controllo fornisce un'interfaccia utente, mentre un componente non lo fa. Un controllo deve derivare da una delle classi di controllo di base: Control o Control.

Quando creare un componente

Se la classe verrà usata in un'area di progettazione ,ad esempio Windows Form o Progettazione Web Form, ma non dispone di un'interfaccia utente, deve essere un componente e implementare IComponento derivare da una classe che implementa IComponentdirettamente o indirettamente .

Le Component classi e MarshalByValueComponent sono implementazioni di base dell'interfaccia IComponent . La differenza principale tra queste classi è che la Component classe è sottoposta a marshalling per riferimento, mentre IComponent è sottoposto a marshalling per valore. L'elenco seguente fornisce linee guida generali per gli implementatori.

  • Se il componente deve essere sottoposto a marshalling per riferimento, derivare da Component.

  • Se il componente deve essere sottoposto a marshalling per valore, derivare da MarshalByValueComponent.

  • Se il componente non può derivare da una delle implementazioni di base a causa di un'ereditarietà singola, implementare IComponent.

Classi componente

Lo System.ComponentModel spazio dei nomi fornisce classi usate per implementare il comportamento in fase di esecuzione e progettazione di componenti e controlli. Questo spazio dei nomi include le classi e le interfacce di base per l'implementazione di attributi e convertitori di tipi, l'associazione alle origini dati e i componenti di licenza.

Le classi di componenti principali sono:

Alcune delle classi usate per le licenze dei componenti sono:

Classi comunemente usate per descrivere e rendere persistenti i componenti.

  • TypeDescriptor. Fornisce informazioni sulle caratteristiche di un componente, ad esempio gli attributi, le proprietà e gli eventi.

  • EventDescriptor. Fornisce informazioni su un evento.

  • PropertyDescriptor. Fornisce informazioni su una proprietà.

Risoluzione dei problemi relativi alla creazione di controlli e componenti
Viene illustrato come risolvere i problemi comuni.

Vedere anche