Tutorial: Demostración de la herencia visual

Actualización: Julio de 2008

La herencia visual permite ver los controles del formulario base y agregar controles nuevos. En este tutorial aprenderá a crear un formulario base y a compilarlo en una biblioteca de clases. Se importa la biblioteca de clases a otro proyecto y se crea un nuevo formulario que hereda del formulario base. Durante este tutorial aprenderá a:

  • Crear un proyecto de biblioteca de clases que contenga un formulario base.

  • Agregar un botón con propiedades que las clases derivadas del formulario base puedan modificar.

  • Agregar un botón que no puedan modificar los herederos del formulario base.

  • Crear un proyecto que contenga un formulario que herede de BaseForm.

Por último, en el tutorial se mostrará la diferencia que existe entre controles privados y protegidos de un formulario heredado.

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.

Pasos del escenario

El primer paso es crear el formulario base.

Para crear un proyecto de biblioteca de clases que contenga un formulario base

  1. En el menú Archivo, elija Nuevo y, a continuación, haga clic en Proyecto para abrir el cuadro de diálogo Nuevo proyecto.

  2. Cree una aplicación de Windows Forms denominada BaseFormLibrary. Para obtener información detallada, vea Cómo: Crear un proyecto de aplicación para Windows.

  3. Para crear una biblioteca de clases en lugar de una aplicación estándar de Windows Forms, en el Explorador de soluciones, haga clic con el botón secundario del mouse en el nodo de proyecto BaseFormLibrary y, a continuación, seleccione Propiedades.

  4. En las propiedades del proyecto, cambie el Tipo de resultado de Aplicación para Windows a Biblioteca de clases.

  5. En el menú Archivo, elija Guardar todo para guardar el proyecto y los archivos en la ubicación predeterminada.

Los dos procedimientos siguientes sirven para agregar botones al formulario base. Para ilustrar la herencia visual, se otorgará a los botones distintos niveles de acceso estableciendo sus propiedades Modifiers.

Para agregar un botón que los herederos del formulario base pueden modificar

  1. Abra Form1 en el diseñador.

  2. En la ficha Todos los formularios Windows Forms del Cuadro de herramientas, haga doble clic en Botón para agregar un botón al formulario. Utilice el mouse para colocar el botón y cambiar su tamaño.

  3. En la ventana Propiedades, establezca las propiedades siguientes del botón:

    • Establezca la propiedad Text en Hola.

    • Establezca la propiedad (Name) en btnProtected.

    • Establezca la propiedad Modifiers en Protected. Esto permite a los formularios que heredan de Form1 modificar las propiedades de btnProtected.

  4. Haga doble clic en el botón Hola para agregar un controlador de eventos para el evento Click.

  5. Agregue la siguiente línea de código al controlador de eventos:

    MessageBox.Show("Hello, World!")
    
    MessageBox.Show("Hello, World!");
    
    MessageBox.Show("Hello, World!");
    

Para agregar un botón que no pueden modificar los herederos del formulario base

  1. Cambie a la vista de diseño haciendo clic en la ficha Form1.vb [Diseño], Form1.cs [Diseño] o Form1.jsl [Diseño] sobre el editor de código o presionando F7.

  2. Agregue un segundo botón y establezca sus propiedades como se indica a continuación:

    • Establezca la propiedad Text en Say Goodbye.

    • Establezca la propiedad (Name) en btnPrivate.

    • Establezca la propiedad Modifiers en Private. Esto impide a los formularios que heredan de Form1 modificar las propiedades de btnPrivate.

  3. Haga doble clic en el botón Say Goodbye para agregar un controlador de eventos para el evento Click. Introduzca la siguiente línea de código en el procedimiento de evento:

    MessageBox.Show("Goodbye!")
    
    MessageBox.Show("Goodbye!");
    
    MessageBox.Show("Goodbye!");
    
  4. En el menú Generar, elija Generar BaseFormLibrary para generar la biblioteca de clases.

    Una vez generada la biblioteca, se puede crear un nuevo proyecto que herede del formulario que se acaba de crear.

Para crear un proyecto que contenga un formulario que herede del formulario base

  1. En el menú Archivo, elija Agregar y, a continuación, seleccione Nuevo proyecto para abrir el cuadro de diálogo Agregar nuevo proyecto.

  2. Cree una aplicación de Windows Forms denominada InheritanceTest. Para obtener información detallada, vea Cómo: Crear un proyecto de aplicación para Windows.

Para agregar un formulario heredado

  1. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto InheritanceTest, haga clic en Agregar y seleccione Nuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, seleccione la categoría Windows Forms (si tiene una lista de categorías) y, a continuación, seleccione la plantilla Formulario heredado.

  3. Deje el nombre predeterminado de Form2 y haga clic en Agregar.

  4. En el cuadro de diálogo Selector de herencia, seleccione Form1 en el proyecto BaseFormLibrary como formulario del que se va a heredar y haga clic en Aceptar.

    Con esto se crea un formulario en el proyecto InheritanceTest que deriva del formulario de BaseFormLibrary.

  5. Haga doble clic para abrir el formulario heredado (Form2) en el diseñador, si aún no está abierto.

    En el diseñador, los botones heredados tienen un símbolo () en la esquina superior para indicar que son heredados.

  6. Seleccione el botón Hola y observe los cuadros de tamaño. Los herederos no pueden mover este botón, cambiar su título o tamaño ni realizar ninguna otra modificación, puesto que está protegido.

  7. Seleccione el botón Adiós privado y observe que no tiene cuadros de tamaño. Además, en la ventana Propiedades, las propiedades de dicho botón aparecen atenuadas para indicar que no se pueden modificar.

  8. Si utiliza Visual C#:

    1. En el Explorador de soluciones, haga clic con el botón secundario en Form1 en el proyecto InheritanceTest y, a continuación, elija Eliminar. En el cuadro de mensaje que aparece, haga clic en Aceptar para confirmar la eliminación.

    2. Abra el archivo Program.cs y elimine la línea Application.Run(new Form1());.

    3. Abra Form2 en la vista de código.

    4. Agregue el siguiente método justo antes de la línea public Form2(). Esta adición permite que Form2 funcione como un objeto inicial.

      static void Main()
      {
         Application.Run(new Form2());
      }
      

    O bien

    Si utiliza Visual J#: 

    1. Abra Form2 en la vista de código.

    2. Agregue el método siguiente. Éste es el punto de entrada de la aplicación InheritanceTest.

      // The main entry point for the application.
      /** @attribute System.STAThreadAttribute() */
      public static void main(String[] args) 
      {
         Application.Run(new Form2());
      }
      
  9. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto InheritanceTest y seleccione Establecer como proyecto de inicio.

  10. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto InheritanceTest y seleccione Propiedades.

  11. En las páginas de propiedades de InheritanceTest, establezca que el Objeto inicial sea el formulario heredado (Form2).

  12. Presione F5 para ejecutar la aplicación y observe el comportamiento del formulario heredado.

Pasos siguientes

La herencia de los controles de usuario funciona de forma similar. Abra un nuevo proyecto de biblioteca de clases y agregue un control de usuario. Coloque controles constituyentes en el proyecto y compílelo. Abra otro proyecto de biblioteca de clases nuevo y agregue una referencia a la biblioteca de clases compilada. Pruebe también a agregar al proyecto un control heredado (mediante el cuadro de diálogo Agregar nuevos elementos) y utilice el Selector de herencia. Agregue un control de usuario y cambie la instrucción Inherits (: en Visual C#). Para obtener más información, vea Cómo: Heredar formularios Windows Forms.

Vea también

Tareas

Cómo: Heredar formularios Windows Forms

Referencia

Selector de herencia (Cuadro de diálogo)

Temas "Cómo..." y de tutoriales de formularios Windows Forms

Otros recursos

Herencia visual de formularios Windows Forms

Formularios Windows Forms

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Se han actualizado los pasos para Visual Studio 2005 y Visual Studio 2008.

Comentarios de los clientes.