Cómo: Heredar de controles de formularios Windows Forms existentes
Si desea extender la funcionalidad de un control existente, puede crear un control derivado de un control existente por medio de la herencia. Cuando herede de un control existente, heredará toda la funcionalidad y las propiedades visuales del control. Por ejemplo, si estuviera creando un control que heredara de Button, el nuevo control tendría la misma apariencia y funcionaría exactamente igual que un control Button estándar. A continuación, podría extender o modificar la funcionalidad del nuevo control por medio de la implementación de métodos y propiedades personalizados. En algunos controles, puede cambiar también la apariencia visual del control heredado reemplazando su método OnPaint.
Nota
Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de la configuración activa o la edición. Para cambiar la configuración, elija la opción Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.
Para crear un control heredado
Cree un nuevo proyecto Windows.
Este proyecto puede ser de cualquier tipo, como Aplicación para Windows o Biblioteca de controles de Windows. Si elige una Biblioteca de controles de Windows, puede utilizar el control en blanco que se proporciona y saltarse los pasos 2 y 3.
En el menú Proyecto, elija Agregar control de usuario.
Aparecerá el cuadro de diálogo Agregar nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento, haga doble clic en Control personalizado.
Se agregará un nuevo control personalizado al proyecto.
En el Editor de código, busque la línea que especifica Control como clase base para la herencia. Cambie el nombre de la clase base al nombre del control del que desea heredar.
Por ejemplo, si desea heredar de Button, la línea sería así:
Inherits System.Windows.Forms.Button
public class CustomControl1 : System.Windows.Forms.Button
public class CustomControl1 extends System.Windows.Forms.Button
Implemente los métodos o propiedades personalizados que vaya a incorporar el control.
Si desea modificar la apariencia gráfica del control, reemplace el método OnPaint.
Nota
El hecho de reemplazar OnPaint no le permitirá modificar la apariencia de todos los controles. Los controles representados por Windows (por ejemplo TextBox) nunca llaman a su método OnPaint y, por tanto, no utilizan nunca el código personalizado. Consulte la documentación de Ayuda del control específico que desee modificar para comprobar si el método OnPaint está disponible. Para obtener una lista de todos los controles de formularios Windows Forms, vea Controles que se utilizan en formularios Windows Forms. Si un control no dispone del método OnPaint como método miembro, no podrá modificar su apariencia reemplazando este método. Para obtener más información acerca de la representación personalizada, vea Dibujo y representación personalizados de controles.
Protected Overrides Sub OnPaint(ByVal pe As _ System.Windows.Forms.PaintEventArgs) MyBase.OnPaint(pe) ' Insert code to do custom painting. If you want to completely ' change the appearance of your control, do not call ' MyBase.OnPaint(pe). End Sub
protected override void OnPaint(PaintEventArgs pe) { // Do not call base.OnPaint if you want to completely // control the appearance of the control. base.OnPaint(pe); // Insert code to do custom painting. }
protected void OnPaint(PaintEventArgs pe) { // Do not call base.OnPaint if you want to completely // control the appearance of the control. super.OnPaint(pe); // Insert code to do custom painting. }
Guarde y pruebe el control.
Vea también
Tareas
Cómo: Heredar de una clase de control
Cómo: Heredar de una clase UserControl
Cómo: Crear controles de formularios Windows Forms
Solucionar problemas de controladores de eventos heredados en Visual Basic 2005