SlideShare una empresa de Scribd logo
1 de 6
Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia
Materia: Programación III
Módulo Interfaz de usuario. Herencia de Formularios
1
Introducción:
Desde la primera versión de Visual Studio .NET, el entorno integrado (IDE) nos permite
crear herencia visual por medio de la creación de un proyecto de tipo Librería de clases
(ensamblado DLL) que expone como clase uno o más formularios, esos formularios
después los podemos usar en otros proyectos, de forma que toda la funcionalidad que
tengan las "heredemos" en el nuevo proyecto aprovechando una de las características
de la programación orientada a objetos: la herencia, pero aplicada a los formularios, que
en el fondo también son clases.
Dos formas de usar formularios heredados
Para usar la herencia de formularios, podemos hacerlo de dos formas distintas:
1- Creando una librería de clases con los formularios que queramos usar como base de
otros formularios.
2- Creando los formularios base en un proyecto y después indicar que se usen esos
formularios como base de otros.
En el primer caso, tendremos que crear un proyecto del tipo Windows Forms y
compilarlo como una DLL, es decir, cambiando el tipo de proyecto de Windows
Application (aplicación para Windows) a Biblioteca de clases (Class Library), ya que
es un requisito que el tipo de ensamblado sea DLL.
En el segundo caso no hay que hacer nada especial, simplemente crear formularios que
después usaremos como base de otros formularios y no es necesario que ese proyecto
sea una DLL.
Crear un proyecto con formularios heredados
Para ver cómo podemos crear y usar los formularios heredados, vamos a crear un
proyecto de prueba, este proyecto lo puedes crear tanto en Visual Studio 2005 como en
Visual Studio .NET 2003, aunque yo voy a usar el Visual Studio 2005 y las capturas
serán de esa versión, pero los pasos comentados son válidos para cualquier versión de
Visual Studio para .NET.
Nota:
En las versiones express de Visual Basic 2005 y Visual C# 2005 también se
pueden crear este tipo de formularios heredados, pero no hay un "tipo" de
fichero de esta clase que lance el asistente, por tanto, habrá que indicar de
forma manual el formulario que va a heredar de otro.
1. Crea un nuevo proyecto de tipo aplicación de Windows con el nombre
HerenciaVisual2005.
o En mi caso, crearé dos proyectos, el de Visual Basic se llamará
HerenciaVisual2005_vb y el de Visual C# se llamará
HerenciaVisual2005_cs.
Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia
Materia: Programación III
Módulo Interfaz de usuario. Herencia de Formularios
2
o Si estás usando el Visual Studio .NET 2003, cambia 2005 por 2003.
2. Se creará un formulario llamado Form1, cámbiale el nombre a FormBase.
o En Visual Studio .NET 2003 tendrás que cambiar manualmente el nombre.
3. Agrega una etiqueta y dos botones (déjale los nombres que le asigna el
diseñador).
4. Los dos botones posiciónalos en la parte de abajo a la derecha y "ánclalos" abajo
y a la derecha.
5. La etiqueta estará en la parte superior, en la versión 2005 tendrás que asignarle
la propiedad AutoSize a False, de forma que tenga un tamaño fijo, que será todo
el ancho del formulario. Asígnale un alto de 16. También debes anclarlo, pero para
que se fije a todo el ancho del formulario y en la parte superior.
6. El aspecto del formulario en modo de diseño es el mostrado en la figura 1.
7. Compila el proyecto, ya que uno de los requisitos es que el ensamblado esté
creado para poder usar la herencia visual.
Figura 1. El formulario base en modo de diseño
Nota:
En Visual Studio .NET 2003 seguramente te dará un error en los proyectos de
Visual Basic indicando que no existe el método Sub Main, pero si seleccionas el
error, puedes indicar el "objeto" de inicio para que sea el formulario FormBase.
Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia
Materia: Programación III
Módulo Interfaz de usuario. Herencia de Formularios
3
8. Vamos a agregar un formulario, pero el tipo será Formulario Heredado
(Inherited Form).
o Recuerda que en las versiones Express ese tipo de formulario no existe.
Después te explico cómo crear este tipo de formularios con las versiones
Express.
9. Indica el nombre del formulario, que será Form1 (es decir, el nombre que
indicará el Visual Studio).
10. Al pulsar en Aceptar, te mostrará un cuadro de diálogo para que elijas el
formulario en el que te quieres basar, si no has añadido más formularios, te
mostrará el formulario FormBase, tal como puedes ver en la figura 2.
o Si no te muestra nada, tendrás un aviso indicando que el proyecto debe
estar compilado, por tanto, pulsa en cancelar hasta que desaparezcan las
pantallas y compila el proyecto y vuelve al paso 8.
Figura 2. Asistente de formulario heredado
11. Una vez creado el formulario, éste mostrará los controles que tiene FormBase
con unos candados, tal como puedes ver en la figura 3.
Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia
Materia: Programación III
Módulo Interfaz de usuario. Herencia de Formularios
4
Figura 3. El formulario derivado de FormBase
Acceder a los controles heredados
12. El problema es que si intentas cambiar las propiedades de cualquiera de esos tres
controles o quieres añadir eventos a los dos botones, no te lo permitirá. Y no lo
permite, porque esos controles "son privado" del formulario base, por tanto no
podremos escribir código que interactúe con ellos.
13. Para poder usar y personalizar esos controles, tendremos que modificar "la
visibilidad" de los mismos.
o En el caso de Visual Basic, la visibilidad (propiedad Modifiers) será
Friend, mientras que en C#, será private.
14. Para cambiar la visibilidad de los dos botones, muestra el formulario base
(FormBase) y selecciona los dos botones, y en la ventana de propiedades cambia
la propiedad Modifiers de forma que el valor sea Protected, tal como te muestro
en la figura 4.
o Después de hacer ese cambio, seguramente verás una advertencia
indicando de que el proyecto se debe compilar para que esos cambios
surtan efecto.
Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia
Materia: Programación III
Módulo Interfaz de usuario. Herencia de Formularios
5
Figura 4. Cambiar la visibilidad de los controles a Protected
15. Una vez compilado el proyecto, verás que al mostrar el formulario Form1 y
seleccionar cualquiera de los botones, en la ventana de propiedades se verán los
valores de forma que se puedan modificar, salvo unas cuantas de las propiedades
que solo se pueden cambiar en el formulario (o clase) base.
16. Ahora puedes hacer doble clic en cualquiera de los botones y se mostrará el
código del evento Click. También puedes cambiar el texto mostrado o cualquiera
de las otras propiedades del botón.
Añadir propiedades al formulario base
17. Tal como tenemos actualmente el código, no podemos cambiar la etiqueta Label1
del formulario base.
18. Una solución sería definirla como Protected, pero como seguramente lo único
que necesitaremos hacer con esa etiqueta es cambiarle el texto, vamos a agregar
una propiedad al formulario base para que nos permita cambiar el texto de la
etiqueta.
Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia
Materia: Programación III
Módulo Interfaz de usuario. Herencia de Formularios
6
19. Muestra el código del formulario FormBase y añade el siguiente código al
principio del mismo:
o En C# no hará falta que lo añadas, ya que esa importación ya estará.

Más contenido relacionado

La actualidad más candente

Qué es visual basic
Qué es visual basicQué es visual basic
Qué es visual basicromeprofe
 
Guía básica de Visual Basic 6.0
Guía básica de Visual Basic 6.0Guía básica de Visual Basic 6.0
Guía básica de Visual Basic 6.0patrimoni
 
Proyecto visual basic 2008 edition express.
Proyecto visual basic 2008 edition express.Proyecto visual basic 2008 edition express.
Proyecto visual basic 2008 edition express.Julio Ayala Rolón
 
Crear una aplicación de formularios windows forms
Crear una aplicación de formularios windows formsCrear una aplicación de formularios windows forms
Crear una aplicación de formularios windows formsPaulcuricama22
 
Pasos para crear un proyecto de visual studio 2008[1][1]
Pasos para crear un proyecto de visual studio 2008[1][1]Pasos para crear un proyecto de visual studio 2008[1][1]
Pasos para crear un proyecto de visual studio 2008[1][1]carechupona
 
Proyecto visual basic
Proyecto visual basicProyecto visual basic
Proyecto visual basicchivas2455
 
Tutorial visual c_(2)
Tutorial visual c_(2)Tutorial visual c_(2)
Tutorial visual c_(2)Elideth Rdz
 
visual basic 6.0
visual basic 6.0visual basic 6.0
visual basic 6.0lesly53
 
Manual visual basic 6.0
Manual visual basic 6.0Manual visual basic 6.0
Manual visual basic 6.0Dunkherz
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NETDavid
 

La actualidad más candente (18)

Qué es visual basic
Qué es visual basicQué es visual basic
Qué es visual basic
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Guía básica de Visual Basic 6.0
Guía básica de Visual Basic 6.0Guía básica de Visual Basic 6.0
Guía básica de Visual Basic 6.0
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Proyecto visual basic 2008 edition express.
Proyecto visual basic 2008 edition express.Proyecto visual basic 2008 edition express.
Proyecto visual basic 2008 edition express.
 
Crear una aplicación de formularios windows forms
Crear una aplicación de formularios windows formsCrear una aplicación de formularios windows forms
Crear una aplicación de formularios windows forms
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
Visual Basic 2008
Visual Basic 2008Visual Basic 2008
Visual Basic 2008
 
Pasos para crear un proyecto de visual studio 2008[1][1]
Pasos para crear un proyecto de visual studio 2008[1][1]Pasos para crear un proyecto de visual studio 2008[1][1]
Pasos para crear un proyecto de visual studio 2008[1][1]
 
Proyecto visual basic
Proyecto visual basicProyecto visual basic
Proyecto visual basic
 
Visual basic
Visual basic Visual basic
Visual basic
 
Tutorial visual c_(2)
Tutorial visual c_(2)Tutorial visual c_(2)
Tutorial visual c_(2)
 
visual basic 6.0
visual basic 6.0visual basic 6.0
visual basic 6.0
 
Apuntes builder
Apuntes builderApuntes builder
Apuntes builder
 
Programacion
ProgramacionProgramacion
Programacion
 
Manual visual basic 6.0
Manual visual basic 6.0Manual visual basic 6.0
Manual visual basic 6.0
 
Visual basic jose martinez
Visual basic  jose martinezVisual basic  jose martinez
Visual basic jose martinez
 
Visual Basic .NET
Visual Basic .NETVisual Basic .NET
Visual Basic .NET
 

Similar a Herencia de formularios en Visual Studio

Andy y luis visual basic
Andy y luis visual basicAndy y luis visual basic
Andy y luis visual basicandyrikelmi
 
21158360 visual-basic
21158360 visual-basic21158360 visual-basic
21158360 visual-basicmflormc
 
Guia para programar_vba_excel
Guia para programar_vba_excelGuia para programar_vba_excel
Guia para programar_vba_exceldiegofmfm
 
Guia unidad ii programacion
Guia unidad ii programacionGuia unidad ii programacion
Guia unidad ii programacionDomingo Mendez
 
Fernando Espinoza
Fernando EspinozaFernando Espinoza
Fernando EspinozaMarvel ico
 
Proyecto unidad 2 original
Proyecto unidad 2 originalProyecto unidad 2 original
Proyecto unidad 2 originalvaleeyazmin
 
Proyecto unidad 2 original
Proyecto unidad 2 originalProyecto unidad 2 original
Proyecto unidad 2 originalvaleeyazmin
 
Proyecto unidad 2
Proyecto unidad 2Proyecto unidad 2
Proyecto unidad 2valeeyazmin
 
Proyecto unidad 2 original
Proyecto unidad 2 originalProyecto unidad 2 original
Proyecto unidad 2 originaldeniizz
 
Proyecto unidad 2 original
Proyecto unidad 2 originalProyecto unidad 2 original
Proyecto unidad 2 originalRickardoo Ortizs
 
Fundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchezFundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchezJairo Bermudez
 
Visual basic
Visual basicVisual basic
Visual basicaaroyo125
 
Visual basic terminado jose oropeza
Visual basic terminado jose oropezaVisual basic terminado jose oropeza
Visual basic terminado jose oropezaJose Martinez
 
7- Unidad 2: Aplicaciones Windows Forms-2.1. Introducción, Conceptos y Caract...
7- Unidad 2: Aplicaciones Windows Forms-2.1. Introducción, Conceptos y Caract...7- Unidad 2: Aplicaciones Windows Forms-2.1. Introducción, Conceptos y Caract...
7- Unidad 2: Aplicaciones Windows Forms-2.1. Introducción, Conceptos y Caract...Luis Fernando Aguas Bucheli
 
A toda máquina con herencia visual
A toda máquina con herencia visualA toda máquina con herencia visual
A toda máquina con herencia visualIgnacio Monllor
 

Similar a Herencia de formularios en Visual Studio (20)

Andy y luis visual basic
Andy y luis visual basicAndy y luis visual basic
Andy y luis visual basic
 
21158360 visual-basic
21158360 visual-basic21158360 visual-basic
21158360 visual-basic
 
21158360 visual-basic
21158360 visual-basic21158360 visual-basic
21158360 visual-basic
 
visual basic
visual basicvisual basic
visual basic
 
Guia para programar_vba_excel
Guia para programar_vba_excelGuia para programar_vba_excel
Guia para programar_vba_excel
 
Guia unidad ii programacion
Guia unidad ii programacionGuia unidad ii programacion
Guia unidad ii programacion
 
Fernando Espinoza
Fernando EspinozaFernando Espinoza
Fernando Espinoza
 
Proyecto unidad 2 original
Proyecto unidad 2 originalProyecto unidad 2 original
Proyecto unidad 2 original
 
Proyecto unidad 2 original
Proyecto unidad 2 originalProyecto unidad 2 original
Proyecto unidad 2 original
 
Proyecto unidad 2
Proyecto unidad 2Proyecto unidad 2
Proyecto unidad 2
 
Proyecto unidad 2 original
Proyecto unidad 2 originalProyecto unidad 2 original
Proyecto unidad 2 original
 
Proyecto unidad 2 original
Proyecto unidad 2 originalProyecto unidad 2 original
Proyecto unidad 2 original
 
Introducion visual II
Introducion visual IIIntroducion visual II
Introducion visual II
 
Fundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchezFundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchez
 
Visual basic
Visual basicVisual basic
Visual basic
 
Visual basic jose oropeza
Visual basic jose oropezaVisual basic jose oropeza
Visual basic jose oropeza
 
Visual basic terminado jose oropeza
Visual basic terminado jose oropezaVisual basic terminado jose oropeza
Visual basic terminado jose oropeza
 
Tutorial
TutorialTutorial
Tutorial
 
7- Unidad 2: Aplicaciones Windows Forms-2.1. Introducción, Conceptos y Caract...
7- Unidad 2: Aplicaciones Windows Forms-2.1. Introducción, Conceptos y Caract...7- Unidad 2: Aplicaciones Windows Forms-2.1. Introducción, Conceptos y Caract...
7- Unidad 2: Aplicaciones Windows Forms-2.1. Introducción, Conceptos y Caract...
 
A toda máquina con herencia visual
A toda máquina con herencia visualA toda máquina con herencia visual
A toda máquina con herencia visual
 

Último

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 

Último (20)

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 

Herencia de formularios en Visual Studio

  • 1. Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia Materia: Programación III Módulo Interfaz de usuario. Herencia de Formularios 1 Introducción: Desde la primera versión de Visual Studio .NET, el entorno integrado (IDE) nos permite crear herencia visual por medio de la creación de un proyecto de tipo Librería de clases (ensamblado DLL) que expone como clase uno o más formularios, esos formularios después los podemos usar en otros proyectos, de forma que toda la funcionalidad que tengan las "heredemos" en el nuevo proyecto aprovechando una de las características de la programación orientada a objetos: la herencia, pero aplicada a los formularios, que en el fondo también son clases. Dos formas de usar formularios heredados Para usar la herencia de formularios, podemos hacerlo de dos formas distintas: 1- Creando una librería de clases con los formularios que queramos usar como base de otros formularios. 2- Creando los formularios base en un proyecto y después indicar que se usen esos formularios como base de otros. En el primer caso, tendremos que crear un proyecto del tipo Windows Forms y compilarlo como una DLL, es decir, cambiando el tipo de proyecto de Windows Application (aplicación para Windows) a Biblioteca de clases (Class Library), ya que es un requisito que el tipo de ensamblado sea DLL. En el segundo caso no hay que hacer nada especial, simplemente crear formularios que después usaremos como base de otros formularios y no es necesario que ese proyecto sea una DLL. Crear un proyecto con formularios heredados Para ver cómo podemos crear y usar los formularios heredados, vamos a crear un proyecto de prueba, este proyecto lo puedes crear tanto en Visual Studio 2005 como en Visual Studio .NET 2003, aunque yo voy a usar el Visual Studio 2005 y las capturas serán de esa versión, pero los pasos comentados son válidos para cualquier versión de Visual Studio para .NET. Nota: En las versiones express de Visual Basic 2005 y Visual C# 2005 también se pueden crear este tipo de formularios heredados, pero no hay un "tipo" de fichero de esta clase que lance el asistente, por tanto, habrá que indicar de forma manual el formulario que va a heredar de otro. 1. Crea un nuevo proyecto de tipo aplicación de Windows con el nombre HerenciaVisual2005. o En mi caso, crearé dos proyectos, el de Visual Basic se llamará HerenciaVisual2005_vb y el de Visual C# se llamará HerenciaVisual2005_cs.
  • 2. Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia Materia: Programación III Módulo Interfaz de usuario. Herencia de Formularios 2 o Si estás usando el Visual Studio .NET 2003, cambia 2005 por 2003. 2. Se creará un formulario llamado Form1, cámbiale el nombre a FormBase. o En Visual Studio .NET 2003 tendrás que cambiar manualmente el nombre. 3. Agrega una etiqueta y dos botones (déjale los nombres que le asigna el diseñador). 4. Los dos botones posiciónalos en la parte de abajo a la derecha y "ánclalos" abajo y a la derecha. 5. La etiqueta estará en la parte superior, en la versión 2005 tendrás que asignarle la propiedad AutoSize a False, de forma que tenga un tamaño fijo, que será todo el ancho del formulario. Asígnale un alto de 16. También debes anclarlo, pero para que se fije a todo el ancho del formulario y en la parte superior. 6. El aspecto del formulario en modo de diseño es el mostrado en la figura 1. 7. Compila el proyecto, ya que uno de los requisitos es que el ensamblado esté creado para poder usar la herencia visual. Figura 1. El formulario base en modo de diseño Nota: En Visual Studio .NET 2003 seguramente te dará un error en los proyectos de Visual Basic indicando que no existe el método Sub Main, pero si seleccionas el error, puedes indicar el "objeto" de inicio para que sea el formulario FormBase.
  • 3. Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia Materia: Programación III Módulo Interfaz de usuario. Herencia de Formularios 3 8. Vamos a agregar un formulario, pero el tipo será Formulario Heredado (Inherited Form). o Recuerda que en las versiones Express ese tipo de formulario no existe. Después te explico cómo crear este tipo de formularios con las versiones Express. 9. Indica el nombre del formulario, que será Form1 (es decir, el nombre que indicará el Visual Studio). 10. Al pulsar en Aceptar, te mostrará un cuadro de diálogo para que elijas el formulario en el que te quieres basar, si no has añadido más formularios, te mostrará el formulario FormBase, tal como puedes ver en la figura 2. o Si no te muestra nada, tendrás un aviso indicando que el proyecto debe estar compilado, por tanto, pulsa en cancelar hasta que desaparezcan las pantallas y compila el proyecto y vuelve al paso 8. Figura 2. Asistente de formulario heredado 11. Una vez creado el formulario, éste mostrará los controles que tiene FormBase con unos candados, tal como puedes ver en la figura 3.
  • 4. Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia Materia: Programación III Módulo Interfaz de usuario. Herencia de Formularios 4 Figura 3. El formulario derivado de FormBase Acceder a los controles heredados 12. El problema es que si intentas cambiar las propiedades de cualquiera de esos tres controles o quieres añadir eventos a los dos botones, no te lo permitirá. Y no lo permite, porque esos controles "son privado" del formulario base, por tanto no podremos escribir código que interactúe con ellos. 13. Para poder usar y personalizar esos controles, tendremos que modificar "la visibilidad" de los mismos. o En el caso de Visual Basic, la visibilidad (propiedad Modifiers) será Friend, mientras que en C#, será private. 14. Para cambiar la visibilidad de los dos botones, muestra el formulario base (FormBase) y selecciona los dos botones, y en la ventana de propiedades cambia la propiedad Modifiers de forma que el valor sea Protected, tal como te muestro en la figura 4. o Después de hacer ese cambio, seguramente verás una advertencia indicando de que el proyecto se debe compilar para que esos cambios surtan efecto.
  • 5. Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia Materia: Programación III Módulo Interfaz de usuario. Herencia de Formularios 5 Figura 4. Cambiar la visibilidad de los controles a Protected 15. Una vez compilado el proyecto, verás que al mostrar el formulario Form1 y seleccionar cualquiera de los botones, en la ventana de propiedades se verán los valores de forma que se puedan modificar, salvo unas cuantas de las propiedades que solo se pueden cambiar en el formulario (o clase) base. 16. Ahora puedes hacer doble clic en cualquiera de los botones y se mostrará el código del evento Click. También puedes cambiar el texto mostrado o cualquiera de las otras propiedades del botón. Añadir propiedades al formulario base 17. Tal como tenemos actualmente el código, no podemos cambiar la etiqueta Label1 del formulario base. 18. Una solución sería definirla como Protected, pero como seguramente lo único que necesitaremos hacer con esa etiqueta es cambiarle el texto, vamos a agregar una propiedad al formulario base para que nos permita cambiar el texto de la etiqueta.
  • 6. Plataforma Educativa UNIDEG Recursos y sitios de interés de la materia Materia: Programación III Módulo Interfaz de usuario. Herencia de Formularios 6 19. Muestra el código del formulario FormBase y añade el siguiente código al principio del mismo: o En C# no hará falta que lo añadas, ya que esa importación ya estará.