Crear y utilizar componentes en Visual Basic

Un componente es una clase que implementa la interfaz System.ComponentModel.IComponent o se deriva directa o indirectamente de una clase que implementa IComponent. Un componente de .NET Framework es un objeto que es reutilizable, puede interactuar con otros objetos y proporciona control sobre recursos externos y 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 constituye un componente se puede utilizar en el entorno de desarrollo integrado (IDE) de Visual Studio. Un componente se puede agregar al cuadro de herramientas, se puede arrastrar y colocar en un formulario y manipularse en una superficie de diseño. Observe que .NET Framework incorpora compatibilidad en tiempo de diseño con los componentes; un desarrollador de componentes no tiene que realizar ningún trabajo adicional para aprovechar la funcionalidad base en tiempo de diseño.

Un control es similar a un componente, ya que ambos se pueden diseñar. Sin embargo, un control proporciona una interfaz de usuario, mientras que un componente no. Un control debe derivar de una de las clases base del control: Control o Control.

Cuándo crear un componente

Si la clase se va a utilizar en una superficie de diseño (como los formularios Windows Forms o el Diseñador de Web Forms) pero no tiene una interfaz de usuario, debe ser un componente e implementar la interfaz IComponent o derivarse de una clase que implemente directa o indirectamente la interfaz IComponent.

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

  • Si su componente tiene que calcularse por referencia, derívelo de Component.

  • Si su componente tiene que calcularse por valor, derívelo de MarshalByValueComponent.

  • Si su componente no se puede derivar de una de las implementaciones base debido a la herencia única, implemente la interfaz IComponent.

Para obtener más información sobre la compatibilidad en tiempo de diseño, vea Atributos en tiempo de diseño para componentes y Ampliar compatibilidad en tiempo de diseño.

Clases de componentes

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

Las clases de componente básicas son:

Algunas de las clases que se utilizan para otorgar licencias de componentes son:

Clases normalmente utilizadas 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.

Secciones relacionadas

Vea también

Tareas

Cómo: Obtener acceso a las funciones en tiempo de diseño de formularios Windows Forms

Cómo: Extender la apariencia y el comportamiento de los controles en modo de diseño

Cómo: Llevar a cabo una inicialización personalizada de controles en modo de diseño