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:
Component. Implementación base de la interfaz IComponent. Esta clase habilita el uso compartido de objetos entre las aplicaciones.
MarshalByValueComponent. Implementación base de la interfaz IComponent.
Container. Implementación base de la interfaz IContainer. Esta clase encapsula cero o más componentes.
Algunas de las clases que se utilizan para otorgar licencias de componentes son:
License. Clase base abstracta de todas las licencias. Una licencia se concede a una instancia concreta de un componente.
LicenseManager. Proporciona propiedades y métodos para agregar una licencia a un componente y administrar un LicenseProvider.
LicenseProvider. Clase base abstracta para implementar un proveedor de licencias.
LicenseProviderAttribute. Especifica la clase LicenseProvider que se usa con una clase.
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
Clase frente a componente y frente a control
Define componente y control y describe las diferencias entre ellos y las clases.Creación de componentes
Guía de orientación para comenzar a utilizar componentes.Tutoriales sobre la creación de componentes
Vínculos a temas que proporcionan instrucciones paso a paso para la programación de componentes.Clases de componentes
Describe qué convierte una clase en un componente, formas de exponer la funcionalidad de los componentes, cómo controlar el acceso a los componentes y cómo controlar el modo en que se crean instancias de componentes.Solución de problemas relacionados con la creación de controles y componentes
Explica cómo resolver problemas comunes.
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