Agregar un proyecto con un formulario derivado

Agregar un proyecto con un formulario derivado

Mediante el menú del IDE Archivo + Agregar proyecto + Nuevo proyecto, añadiremos a la solución actual un nuevo proyecto de tipo aplicación Windows, con el nombre FormuDerivado1. Ello hará que nuestra solución de proyectos HerenciaVisual, quede como muestra la Figura 266, con el proyecto del formulario base y el nuevo.

Para poder realizar las oportunas pruebas, haremos clic derecho en el nuevo proyecto, FormuDerivado1, y seleccionaremos del menú contextual la opción Establecer como proyecto de inicio, ya que como una biblioteca de clases no podemos ejecutarla visualmente, necesitamos un proyecto que sea de tipo aplicación Windows, que sí disponen de medio visual de representación a través de formularios.

Programación con Visual Basic .NET © Grupo EIDOS

Figura 266. Solución con proyecto de formulario base y proyecto de formulario derivado.

El siguiente paso será eliminar el formulario que contiene el proyecto FormuDerivado1, de igual modo que el mostrado anteriormente.

Permaneciendo posicionados en el proyecto FormuDerivado1, seleccionaremos el menú Proyecto + Agregar formulario heredado, al que daremos el nombre frmAcceso. Ver Figura 267.

Figura 267. Agregar formulario heredado.

Al aceptar la ventana de creación del formulario, el entorno de desarrollo buscará la biblioteca de clases con el ámbito más próximo, y que disponga de formularios heredables, mostrando el resultado en la ventana Selector de herencia. En nuestro caso, naturalmente, aparecerá el formulario base frmValidar, contenido en la DLL que hemos generado anteriormente. Ver Figura 268.

© Grupo EIDOS 30. Codificación avanzada de controles y herencia visual

Figura 268. Seleccionar formulario base a partir del que se realizará la herencia.

Al pulsar Aceptar en esta ventana, será creado el nuevo formulario, en base al formulario base especificado, y establecida una referencia en el proyecto FormuDerivado1 hacia el proyecto base HerenciaVisual. Ver Figura 269.

Figura 269. Proyecto con formulario heredado y con referencia hacia proyecto base.

Al abrir el formulario frmAcceso en el diseñador de formularios, se mostrará con los controles pertenecientes al formulario base bloqueados; ello es debido a que tales controles pertenecen a la clase base del formulario, y sólo pueden ser manipulados desde el proyecto del formulario base. En este formulario derivado añadiremos algunos controles más, quedando con el aspecto que muestra la Figura 270.

Programación con Visual Basic .NET © Grupo EIDOS

Figura 270. Formulario heredado mostrando controles base y nuevos controles.

En lo que respecta al código de este formulario, sólo podemos escribir los eventos de los nuevos controles, ya que el código de los controles heredados se encuentra protegido, siendo sólo modificable desde el proyecto del formulario base. El único evento, por lo tanto que vamos a escribir aquí, será el del botón btnCerrar, que llamará al método de cierre del formulario, como vemos en el Código fuente 478. Observemos también la declaración de clase, y como se establece la herencia con el formulario base.

Public Class frmAcceso Inherits HerenciaVisual.frmValidar '.... '.... Private Sub btnCerrar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnCerrar.Click

' cerramos el formulario Me.Close()

End Sub

End Class

Código fuente 478

Para poder ya finalmente, ejecutar este formulario derivado, debemos establecerlo como objeto inicial en las propiedades de su proyecto, ya que al crear su proyecto estaba configurado para que arrancar por Form1.