Compartir a través de


Recomendaciones sobre tipos de controles

.NET Framework ofrece la posibilidad de programar e implementar nuevos controles. Además de los conocidos controles de usuario, comprobará que puede escribir controles personalizados que realizan su propia representación y que incluso pueden extender la funcionalidad de controles existentes por medio de la herencia. La decisión sobre qué tipo de control se va a crear puede ser difícil. Esta sección resalta las diferencias entre los diferentes tipos de controles de los cuales es posible heredar y explica cuestiones relativas al tipo de control que se puede elegir para un proyecto.

Nota

Si desea crear un control para utilizarlo en los formularios Web Forms, vea Desarrollar controles de servidor ASP.NET personalizados.

Herencia de un control de formularios Windows Forms

Puede derivar un control heredado de cualquier control existente de formularios Windows Forms. Este método permite conservar toda la funcionalidad inherente a un control de formularios Windows Forms y, a continuación, ampliarla agregando propiedades, métodos y otras funcionalidades personalizadas. Por ejemplo, podría crear un control derivado de TextBox que sólo admita números y que convierta automáticamente la información introducida en valores. Tal control podría contener código de validación, al que se llamaría siempre que cambiara el texto del cuadro de texto, y podría tener una propiedad adicional: Value. En algunos controles, también es posible agregar una apariencia personalizada a la interfaz gráfica del control; para ello, deberá reemplazar el método OnPaint de la clase base.

Herede de un control de formularios Windows Forms si:

  • La mayor parte de la funcionalidad necesaria es ya idéntica a la de un control de formularios Windows Forms existente.

  • No necesita una interfaz gráfica personalizada o desea diseñar una nueva interfaz gráfica para un control existente.

Herencia de la clase UserControl

Un control de usuario es una colección de controles de formularios Windows Forms encapsulados en un contenedor común. El contenedor conserva toda la funcionalidad inherente asociada a cada uno de los controles de formularios Windows Forms y permite exponer y enlazar sus propiedades de forma selectiva. Un ejemplo de control de usuario podría ser un control compilado con el propósito de mostrar los datos de la dirección de los clientes procedentes de una base de datos. Este control incluiría varios cuadros de texto para mostrar los campos, así como controles de botón para navegar por los registros. Las propiedades de enlace de datos podrían exponerse de forma selectiva; todo el control podría empaquetarse y reutilizarse en diferentes aplicaciones.

Herede de la clase UserControl si:

  • Desea combinar la funcionalidad de varios controles de formularios Windows Forms en una sola unidad reutilizable.

Herencia de la clase Control

Otra forma de crear un control consiste en crear uno prácticamente desde el principio mediante la herencia de Control. La clase Control proporciona toda la funcionalidad básica que requieren los controles (por ejemplo, los eventos), pero no proporciona una funcionalidad ni una interfaz gráfica específicas para el control. Crear un control mediante la herencia de la clase Control requiere mucho más esfuerzo que heredar de un control de usuario o de un control de formularios Windows Forms existente. El creador debe escribir código para el evento OnPaint del control, así como todo el código necesario para sus funciones específicas. No obstante, permite una mayor flexibilidad, lo que permite crear controles a medida que se ajusten exactamente a las necesidades. Un ejemplo de control personalizado es un control de reloj que duplique la apariencia y el funcionamiento de un reloj analógico. Sería necesario invocar una representación personalizada para hacer que las manecillas de reloj se movieran en respuesta a eventos Tick procedentes de un componente temporizador interno.

Herede de la clase Control si:

  • Desea proporcionar una representación gráfica personalizada del control.

  • Necesita implementar funcionalidad personalizad que no se encuentre disponible por medio de controles estándar.

Topic Location
Cómo: Crear un control de formularios Windows Forms que aproveche las características en tiempo de diseño Desarrollo de aplicaciones en .NET Framework
Cómo: Heredar de una clase UserControl Controles de formularios Windows Forms
Cómo: Alinear un control con los bordes de los formularios en tiempo de diseño Controles de formularios Windows Forms
Cómo: Crear controles compuestos Controles de formularios Windows Forms
Cómo: Proporcionar un mapa de bits del cuadro de herramientas para un control Controles de formularios Windows Forms
Tutorial: Heredar de un control de formularios Windows Forms con Visual C# Controles de formularios Windows Forms
Tutorial: Depurar controles personalizados de formularios Windows Forms en tiempo de diseño Controles de formularios Windows Forms
Cómo: Heredar de controles de formularios Windows Forms existentes Controles de formularios Windows Forms
Cómo: Mostrar un control en el cuadro de diálogo Personalizar cuadro de herramientas Controles de formularios Windows Forms
Tutorial: Crear un control compuesto con Visual C# Controles de formularios Windows Forms
Tutorial: Crear un control compuesto con Visual Basic Controles de formularios Windows Forms
Cómo: Crear controles de formularios Windows Forms Controles de formularios Windows Forms
Cómo: Heredar de una clase de control Controles de formularios Windows Forms
Tutorial: Heredar de un control de formularios Windows Forms con Visual Basic Controles de formularios Windows Forms
Tutorial: Serializar colecciones de tipos estándar con DesignerSerializationVisibilityAttribute Controles de formularios Windows Forms
Cómo: Comprobar el comportamiento de un control de usuario en tiempo de ejecución Controles de formularios Windows Forms
Cómo: Crear un control de formularios Windows Forms que aproveche las características en tiempo de diseño Desarrollo de aplicaciones en .NET Framework
Cómo: Mostrar un control en el cuadro de diálogo Personalizar cuadro de herramientas Controles de formularios Windows Forms
Tutorial: Serializar colecciones de tipos estándar con DesignerSerializationVisibilityAttribute Controles de formularios Windows Forms
Tutorial: Heredar de un control de formularios Windows Forms con Visual C# Controles de formularios Windows Forms
Cómo: Proporcionar un mapa de bits del cuadro de herramientas para un control Controles de formularios Windows Forms
Cómo: Heredar de controles de formularios Windows Forms existentes Controles de formularios Windows Forms
Tutorial: Depurar controles personalizados de formularios Windows Forms en tiempo de diseño Controles de formularios Windows Forms
Cómo: Heredar de una clase de control Controles de formularios Windows Forms
Cómo: Comprobar el comportamiento de un control de usuario en tiempo de ejecución Controles de formularios Windows Forms
Cómo: Alinear un control con los bordes de los formularios en tiempo de diseño Controles de formularios Windows Forms
Cómo: Heredar de una clase UserControl Controles de formularios Windows Forms
Cómo: Crear controles de formularios Windows Forms Controles de formularios Windows Forms
Cómo: Crear controles compuestos Controles de formularios Windows Forms
Tutorial: Crear un control compuesto con Visual Basic Controles de formularios Windows Forms
Tutorial: Crear un control compuesto con Visual C# Controles de formularios Windows Forms
Tutorial: Heredar de un control de formularios Windows Forms con Visual Basic Controles de formularios Windows Forms
Tutorial: Serializar colecciones de tipos estándar con DesignerSerializationVisibilityAttribute Controles de formularios Windows Forms
Cómo: Alinear un control con los bordes de los formularios en tiempo de diseño Controles de formularios Windows Forms
Cómo: Crear un control de formularios Windows Forms que aproveche las características en tiempo de diseño Desarrollo de aplicaciones en .NET Framework
Cómo: Mostrar un control en el cuadro de diálogo Personalizar cuadro de herramientas Controles de formularios Windows Forms
Tutorial: Heredar de un control de formularios Windows Forms con Visual C# Controles de formularios Windows Forms
Cómo: Proporcionar un mapa de bits del cuadro de herramientas para un control Controles de formularios Windows Forms
Cómo: Heredar de controles de formularios Windows Forms existentes Controles de formularios Windows Forms
Tutorial: Depurar controles personalizados de formularios Windows Forms en tiempo de diseño Controles de formularios Windows Forms
Cómo: Heredar de una clase de control Controles de formularios Windows Forms
Cómo: Comprobar el comportamiento de un control de usuario en tiempo de ejecución Controles de formularios Windows Forms
Cómo: Heredar de una clase UserControl Controles de formularios Windows Forms
Cómo: Crear controles de formularios Windows Forms Controles de formularios Windows Forms
Cómo: Crear controles compuestos Controles de formularios Windows Forms
Tutorial: Crear un control compuesto con Visual Basic Controles de formularios Windows Forms
Tutorial: Crear un control compuesto con Visual C# Controles de formularios Windows Forms
Tutorial: Heredar de un control de formularios Windows Forms con Visual Basic Controles de formularios Windows Forms
Cómo: Crear un control de formularios Windows Forms que aproveche las características en tiempo de diseño dv_fxdeveloping
Cómo: Mostrar un control en el cuadro de diálogo Elegir elementos de cuadro de herramientas dv_mclictl
Tutorial: Serializar colecciones de tipos estándar con DesignerSerializationVisibilityAttribute dv_mclictl
Tutorial: Heredar de un control de formularios Windows Forms con Visual C# dv_mclictl
Cómo: Proporcionar un mapa de bits del cuadro de herramientas para un control dv_mclictl
Cómo: Heredar de controles de formularios Windows Forms existentes dv_mclictl
Tutorial: Depurar controles personalizados de formularios Windows Forms en tiempo de diseño dv_mclictl
Cómo: Heredar de una clase de control dv_mclictl
Cómo: Comprobar el comportamiento de un control de usuario en tiempo de ejecución dv_mclictl
Cómo: Alinear un control con los bordes de los formularios en tiempo de diseño dv_mclictl
Cómo: Heredar de una clase UserControl dv_mclictl
Cómo: Crear controles de formularios Windows Forms dv_mclictl
Cómo: Crear controles compuestos dv_mclictl
Tutorial: Crear un control compuesto con Visual Basic dv_mclictl
Tutorial: Crear un control compuesto con Visual C# dv_mclictl
Tutorial: Heredar de un control de formularios Windows Forms con Visual Basic dv_mclictl
Cómo: Crear un control de formularios Windows Forms que aproveche las características en tiempo de diseño dv_fxdeveloping

Vea también

Tareas

Cómo: Desarrollar un control de formularios Windows Forms sencillo

Conceptos

Variedades de controles personalizados