Compartir a través de


Crear y usar componentes en Visual Basic

Un componente es una clase que implementa la System.ComponentModel.IComponent interfaz o que deriva directa o indirectamente de una clase que implementa IComponent. Un componente de .NET es un objeto reutilizable, puede interactuar con otros objetos y proporciona control sobre los recursos externos y la compatibilidad en tiempo de diseño.

Una característica importante de los componentes es que se pueden diseñar, lo que significa que una clase que es un componente se puede usar en el entorno de desarrollo integrado de Visual Studio. Se puede agregar un componente al Cuadro de herramientas, arrastrarlo y colocarlo en un formulario y manipularlo en una superficie de diseño. La compatibilidad en tiempo de diseño de los componentes está integrada en .NET. Un desarrollador de componentes no tiene que realizar ningún trabajo adicional para beneficiarse de la funcionalidad básica en tiempo de diseño.

Un control es similar a un componente, ya que ambos son designables. Sin embargo, un control proporciona una interfaz de usuario, mientras que un componente no lo hace. Un control debe derivar de una de las clases de control base: Control o Control.

Cuándo crear un componente

Si su clase se utilizará en una superficie de diseño (como el Diseñador de Windows Forms o de Web Forms) pero no tiene interfaz de usuario, debería ser un componente e implementar IComponent, o derivar de una clase que implemente directa o indirectamente IComponent.

Las Component clases y MarshalByValueComponent son implementaciones base de la IComponent interfaz. La principal diferencia entre estas clases es que la Component clase se maneja por referencia, mientras que la IComponent clase se maneja por valor. En la lista siguiente se proporcionan instrucciones generales para los implementadores.

  • Si el componente se tiene que serializar por referencia, se debe derivar de Component.

  • Si el componente se tiene que serializar por valor, se debe derivar de MarshalByValueComponent.

  • Si el componente no puede derivar de una de las implementaciones base debido a una sola herencia, implemente IComponent.

Clases de componentes

El System.ComponentModel espacio de nombres proporciona clases que se usan para implementar el comportamiento en tiempo de ejecución y tiempo de diseño de componentes y controles. Este espacio de nombres incluye las clases base e interfaces para implementar atributos y convertidores de tipos, enlazar a orígenes de datos y componentes de licencias.

Las clases principales de componentes son:

Algunas de las clases usadas para las licencias de componentes son:

Clases usadas habitualmente para describir y conservar componentes.

  • TypeDescriptor. Proporciona información sobre las características de un componente, como sus atributos, propiedades y eventos.

  • EventDescriptor. Proporciona información sobre un evento.

  • PropertyDescriptor. Proporciona información sobre una propiedad .

Solución de problemas de control y creación de componentes
Explica cómo corregir problemas comunes.

Consulte también