SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Taller de Programación Distribuida
Lic. Juvenal Quispe Serna
INTERFACES DE MÚLTIPLES DOCUMENTOS (MDI)
Cuando trabajamos con aplicaciones Windows existen dos tipos de
interfaces o formas de presentar la información en pantalla, éstas
son:
1. Interface de Simple Documento (SDI): Presenta un documento
en su propia ventana, cada ventana es independiente. Por
ejemplo, usan SDI; el Bloc de Notas, el Paint, el WordPad,
Office 2000, etc.
2. Interface de Múltiples Documentos (MDI): Presenta todos los
documentos sobre una ventana principal (formulario padre)
sobre la cual se muestra cada documento en su ventana
secundaria (formulario hijo). Por ejemplo, usan MDI: el Visual
Studio .NET, SQL Enterprise Manager, Office 97, etc.
Hasta ahora todas las aplicaciones creadas que tienen más de un
formulario han usado Interfaces de Simples Documentos (SDI).
En esta parte, veremos cómo trabajar en .NET, las Interfaces de
Múltiples Documentos (MDI); empezaremos aprendiendo a crear un
formulario MDI padre y a crear formularios MDI hijos, después
aprenderemos cómo organizar a éstos sobre la ventana principal o
padre, y finalmente enseñaremos cómo trabajar con el formulario
padre desde el hijo y cómo trabajar con el formulario hijo desde el
padre.
FORMULARIO MDI (Padre)
Para crear un formulario MDI Padre que será la ventana principal de
la aplicación Windows, sólo hay que configurar la propiedad
IsMdiContainer del formulario en True, ya que por defecto esta es
False.
Una vez creado el formulario MDI Padre, el Visual Studio .NET
permite agregar todo tipo de controles, pero una buena práctica es
sólo tener menús y barras de herramientas para organizar los
comandos de la aplicación.
Taller de Programación Distribuida
Lic. Juvenal Quispe Serna
El formulario MDI Padre creado se muestra en el Diseñador de
Formularios Windows con un fondo gris más oscuro que el tradicional
fondo gris claro de los formularios Windows, como se aprecia en la
siguiente figura:
CREANDO UN FORMULARIO MDI HIJO
Para crear un formulario MDI Hijo que se muestre dentro de la
ventana principal de la aplicación Windows, sólo hay que configurar
la propiedad MdiParent del formulario hijo asignándole el formulario
MDI Padre, tal como se muestra en el siguiente código:
Taller de Programación Distribuida
Lic. Juvenal Quispe Serna
Nota: La propiedad MdiParent sólo está disponible en tiempo de
ejecución, es decir; es obligatorio, realizar la configuración mediante
código.
Observación: Si no se configura la propiedad MdiParent del
formulario hijo, éste se muestra fuera del formulario MDI Padre.
Advertencia: Si se configura la propiedad MdiParent y se muestra el
formulario Hijo con el método ShowDialog se generará una
Excepción.
Todos los formularios configurados con la propiedad MdiParent
aparecerán sobre el formulario MDI Padre, tal como se aprecia en la
siguiente figura:
VENTANA DE UN FORMULARIO MDI PADRE CONTENIENDO 3
HIJOS
Taller de Programación Distribuida
Lic. Juvenal Quispe Serna
ORGANIZANDO VENTANAS DENTRO DEL MDI
Para organizar las ventanas hijos dentro de la ventana padre hay que
usar el método LayoutMdi() del formulario Padre, el cual tiene como
parámetros un valor o enumeración de tipo MdiLayout, tal como se
muestra en el siguiente código:
objPadre.LayoutMdi(valor) ó
objPadre.LayoutMdi(MdiLayout.Constante)
Los valores o constantes de la enumeración MdiLayout y su efecto
se muestran en el siguiente cuadro:
Constante Valor Efecto
Cascade 0 Organiza las ventanas hijas en cascada.
TileHorizontal 1 Muestra en mosaico horizontal las ventanas.
TileVertical 2 Muestra en mosaico vertical las ventanas.
ArrangeIcons 3
Alinea en la parte inferior los iconos o ventanas que han sido
minimizadas.
Por ejemplo, si queremos organizar las ventanas en forma horizontal,
escribir:
ó
Taller de Programación Distribuida
Lic. Juvenal Quispe Serna
Entonces, las ventanas se verán tal como se aprecia en la siguiente
figura:
Ventanas hijos organizadas en Mosaico Horizontal.
Trabajando con el Formulario MDI Padre desde el Hijo
Si desde el formulario MDI hijo se quiere usar alguna característica
del padre, se debe trabajar con la propiedad MdiParent del formulario
hijo que apunta a la instancia actual del formulario padre.
Por ejemplo, para mostrar el título del formulario padre como título
del formulario hijo, tendríamos que escribir el siguiente código:
objHijo.Text = objHijo.MdiParent.Text
ó
Taller de Programación Distribuida
Lic. Juvenal Quispe Serna
Me.Text = Me. Mdi Parent.Text
Nota:
En la segunda sintaxis, me representa a la instancia actual del
formulario hijo en el cual se escribe el código.
Trabajando con el Formulario MDI Hijo desde el Padre
Si desde el formulario MDI padre se quiere usar alguna característica
del hijo, hay que realizar dos pasos que son:
1. Verificar si existen formularios hijos abiertos usando la propiedad
Length del objeto MdiChildren que es una propiedad del formulario
padre, similar al siguiente código:
2. Acceder a una propiedad o control del formulario hijo usando el
objeto ActiveMdiChild que es una propiedad del formulario padre,
similar al siguiente código:
Propiedad_Hijo = Me.ActiveMdiChild.Propiedad
Control_Hijo = Me.ActiveMdiChild.Controls(N)
Advertencia:Si se accede a una propiedad o control del formulario
hijo sin existir instancias en el padre (paso 1) se generará una
Excepción.

Más contenido relacionado

La actualidad más candente

Virus Informatico
Virus InformaticoVirus Informatico
Virus Informaticosanale17
 
Tendencias de los sistemas operativos. Presentación.
Tendencias de los sistemas operativos. Presentación.Tendencias de los sistemas operativos. Presentación.
Tendencias de los sistemas operativos. Presentación.Absner Anaya
 
Sistema Operativo Windows
Sistema Operativo WindowsSistema Operativo Windows
Sistema Operativo Windowsgueste36a9c
 
Caracteristicas importantes de Centos
Caracteristicas importantes de CentosCaracteristicas importantes de Centos
Caracteristicas importantes de Centosjulyuladech
 
Software de programacion
Software de programacionSoftware de programacion
Software de programacionIván Torres
 
La historia de windows y todas sus versiones
La historia de windows y todas sus versionesLa historia de windows y todas sus versiones
La historia de windows y todas sus versionesalexandersalanic
 
Elementos panel de control (WINDOWS 10, LINUX, MAC-OS)
Elementos panel de control (WINDOWS 10, LINUX, MAC-OS)Elementos panel de control (WINDOWS 10, LINUX, MAC-OS)
Elementos panel de control (WINDOWS 10, LINUX, MAC-OS)Maximiliano López Enríquez
 
Evolución de windows
Evolución de windowsEvolución de windows
Evolución de windowsmanu_alme07
 
Fenómenos paranormales
Fenómenos paranormalesFenómenos paranormales
Fenómenos paranormalesDanieladlc9
 
Síntesis Sistemas operativos
Síntesis Sistemas operativosSíntesis Sistemas operativos
Síntesis Sistemas operativosJOSE LÓPEZ
 
Windows 98
Windows 98Windows 98
Windows 98jglmary
 
Ordenagailuaren Osagaiak
Ordenagailuaren OsagaiakOrdenagailuaren Osagaiak
Ordenagailuaren Osagaiakik012071tf
 

La actualidad más candente (20)

Virus Informatico
Virus InformaticoVirus Informatico
Virus Informatico
 
Ensayo windows
Ensayo windowsEnsayo windows
Ensayo windows
 
Concepto de antivirus diapositivas
Concepto de antivirus   diapositivasConcepto de antivirus   diapositivas
Concepto de antivirus diapositivas
 
Tendencias de los sistemas operativos. Presentación.
Tendencias de los sistemas operativos. Presentación.Tendencias de los sistemas operativos. Presentación.
Tendencias de los sistemas operativos. Presentación.
 
Sistema Operativo Windows
Sistema Operativo WindowsSistema Operativo Windows
Sistema Operativo Windows
 
Caracteristicas importantes de Centos
Caracteristicas importantes de CentosCaracteristicas importantes de Centos
Caracteristicas importantes de Centos
 
Software de programacion
Software de programacionSoftware de programacion
Software de programacion
 
La historia de windows y todas sus versiones
La historia de windows y todas sus versionesLa historia de windows y todas sus versiones
La historia de windows y todas sus versiones
 
Elementos panel de control (WINDOWS 10, LINUX, MAC-OS)
Elementos panel de control (WINDOWS 10, LINUX, MAC-OS)Elementos panel de control (WINDOWS 10, LINUX, MAC-OS)
Elementos panel de control (WINDOWS 10, LINUX, MAC-OS)
 
Evolución de windows
Evolución de windowsEvolución de windows
Evolución de windows
 
Fenómenos paranormales
Fenómenos paranormalesFenómenos paranormales
Fenómenos paranormales
 
Síntesis Sistemas operativos
Síntesis Sistemas operativosSíntesis Sistemas operativos
Síntesis Sistemas operativos
 
Windows 98
Windows 98Windows 98
Windows 98
 
Ciberseguridad
CiberseguridadCiberseguridad
Ciberseguridad
 
Fundamentos de windows
Fundamentos de windowsFundamentos de windows
Fundamentos de windows
 
Sistemas operativos.pptx modulo 1
Sistemas operativos.pptx modulo 1Sistemas operativos.pptx modulo 1
Sistemas operativos.pptx modulo 1
 
Ordenagailuaren Osagaiak
Ordenagailuaren OsagaiakOrdenagailuaren Osagaiak
Ordenagailuaren Osagaiak
 
Windows Millenium
Windows MilleniumWindows Millenium
Windows Millenium
 
La historia del internet
La historia del internetLa historia del internet
La historia del internet
 
TIPOS DE VIRUS
TIPOS DE VIRUSTIPOS DE VIRUS
TIPOS DE VIRUS
 

Similar a Interfaces de múltiples documentos (mdi)

Similar a Interfaces de múltiples documentos (mdi) (20)

Aplicaciones con multiples formularios
Aplicaciones con multiples formulariosAplicaciones con multiples formularios
Aplicaciones con multiples formularios
 
Herencia
HerenciaHerencia
Herencia
 
Ceubas10
Ceubas10Ceubas10
Ceubas10
 
Formulario mdi
Formulario mdiFormulario mdi
Formulario mdi
 
Fancy windows capturas de pantalla
Fancy windows   capturas de pantallaFancy windows   capturas de pantalla
Fancy windows capturas de pantalla
 
Laboratorio de visual basic_Orlando
Laboratorio de visual basic_OrlandoLaboratorio de visual basic_Orlando
Laboratorio de visual basic_Orlando
 
Manual acceso a datos vb.net
Manual acceso a datos vb.netManual acceso a datos vb.net
Manual acceso a datos vb.net
 
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
 
Programacion
ProgramacionProgramacion
Programacion
 
6. windows forms
6.  windows forms6.  windows forms
6. windows forms
 
Guia unidad ii programacion
Guia unidad ii programacionGuia unidad ii programacion
Guia unidad ii programacion
 
Visual basic
Visual basicVisual basic
Visual basic
 
Aplicaciones windows en visual basic.net
 Aplicaciones windows en visual basic.net Aplicaciones windows en visual basic.net
Aplicaciones windows en visual basic.net
 
Formularios midi
Formularios midiFormularios midi
Formularios midi
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Visual basic-2008 tutorial
Visual basic-2008 tutorialVisual basic-2008 tutorial
Visual basic-2008 tutorial
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Guia 0 vb induccion
Guia 0 vb    induccionGuia 0 vb    induccion
Guia 0 vb induccion
 
Visual basic.docx
Visual basic.docxVisual basic.docx
Visual basic.docx
 
Visual basic.docx
Visual basic.docxVisual basic.docx
Visual basic.docx
 

Más de Juvenal Quispe Serna

Más de Juvenal Quispe Serna (11)

Costos y presupuestos parte 04
Costos y presupuestos parte 04Costos y presupuestos parte 04
Costos y presupuestos parte 04
 
Aspectos generales de la investigación
Aspectos generales de la investigaciónAspectos generales de la investigación
Aspectos generales de la investigación
 
Precio
PrecioPrecio
Precio
 
Asientos contables - Casos practicos
Asientos contables - Casos practicosAsientos contables - Casos practicos
Asientos contables - Casos practicos
 
Producto
ProductoProducto
Producto
 
Ejercicio práctico nº 02
Ejercicio práctico nº 02Ejercicio práctico nº 02
Ejercicio práctico nº 02
 
Proceso administrativo
Proceso administrativoProceso administrativo
Proceso administrativo
 
Introduccion a la administracion
Introduccion a la administracionIntroduccion a la administracion
Introduccion a la administracion
 
14 principios de administración de fayol
14  principios de administración de fayol14  principios de administración de fayol
14 principios de administración de fayol
 
Funciones basicas segun fayol
Funciones basicas segun fayolFunciones basicas segun fayol
Funciones basicas segun fayol
 
Manual de word 2010 - Lic. Juvenal Quispe Serna
Manual de word 2010 - Lic. Juvenal Quispe SernaManual de word 2010 - Lic. Juvenal Quispe Serna
Manual de word 2010 - Lic. Juvenal Quispe Serna
 

Último

Sistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdfSistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdfLuisMarioMartnez1
 
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworkingErgonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworkingGonzalo141557
 
ESTABILIZACION DE TALUDES CON ESCOLLERAS
ESTABILIZACION DE TALUDES CON ESCOLLERASESTABILIZACION DE TALUDES CON ESCOLLERAS
ESTABILIZACION DE TALUDES CON ESCOLLERASMiguelRojasbrandan1
 
Reino Fungí (1) corregida actividad para la clase de ciencias dirigida a todo...
Reino Fungí (1) corregida actividad para la clase de ciencias dirigida a todo...Reino Fungí (1) corregida actividad para la clase de ciencias dirigida a todo...
Reino Fungí (1) corregida actividad para la clase de ciencias dirigida a todo...JanEndLiamParlovRG
 
Morfología interna de insectos, respiración, circulación, nutrición, reproduc...
Morfología interna de insectos, respiración, circulación, nutrición, reproduc...Morfología interna de insectos, respiración, circulación, nutrición, reproduc...
Morfología interna de insectos, respiración, circulación, nutrición, reproduc...jacksyordoez
 
EXPOSICION CIENCIA E INGENIERIA DE LOS MATERIALES.doc.pptx
EXPOSICION CIENCIA E INGENIERIA DE LOS MATERIALES.doc.pptxEXPOSICION CIENCIA E INGENIERIA DE LOS MATERIALES.doc.pptx
EXPOSICION CIENCIA E INGENIERIA DE LOS MATERIALES.doc.pptxalejandroagarcia2336
 
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdfGUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdfElybe Hernandez
 
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFDavidMorales257484
 
Guía de SGSST para MYPES según Ley 28793
Guía de SGSST para MYPES según Ley 28793Guía de SGSST para MYPES según Ley 28793
Guía de SGSST para MYPES según Ley 28793Camposol S. A.
 
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptxCapacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptxErickAbrahamChavezBe
 
Deilybeth Alaña - Operaciones Básicas - Construcción
Deilybeth Alaña - Operaciones Básicas - ConstrucciónDeilybeth Alaña - Operaciones Básicas - Construcción
Deilybeth Alaña - Operaciones Básicas - ConstrucciónDeilybethAinellAlaaY
 
Escenario económico - Desarrollo sustentable
Escenario económico - Desarrollo sustentableEscenario económico - Desarrollo sustentable
Escenario económico - Desarrollo sustentableJosPealoza7
 
bombeo-de-cavidad-progresiva_compress (1).pptx
bombeo-de-cavidad-progresiva_compress (1).pptxbombeo-de-cavidad-progresiva_compress (1).pptx
bombeo-de-cavidad-progresiva_compress (1).pptxEstefannyMedrano1
 
Presentación de proyecto y resumen de conceptos (3).pdf
Presentación de proyecto y resumen de conceptos (3).pdfPresentación de proyecto y resumen de conceptos (3).pdf
Presentación de proyecto y resumen de conceptos (3).pdflisCuenca
 
Trabajo Mecanismos de cuatro barras.pdf
Trabajo  Mecanismos de cuatro barras.pdfTrabajo  Mecanismos de cuatro barras.pdf
Trabajo Mecanismos de cuatro barras.pdfIvanIsraelPiaColina
 
Circuitos_basicos_de_neumatica miquel carulla .pdf
Circuitos_basicos_de_neumatica  miquel carulla .pdfCircuitos_basicos_de_neumatica  miquel carulla .pdf
Circuitos_basicos_de_neumatica miquel carulla .pdfJosueUlin1
 
Procedimeiento y secuencias para el diseño mecánico de ejes
Procedimeiento y secuencias para el diseño mecánico de ejesProcedimeiento y secuencias para el diseño mecánico de ejes
Procedimeiento y secuencias para el diseño mecánico de ejesRubén Cortes Zavala
 
TERRENO DE FUNDACION - CURSO DE PAVIMENTOS
TERRENO DE FUNDACION - CURSO DE PAVIMENTOSTERRENO DE FUNDACION - CURSO DE PAVIMENTOS
TERRENO DE FUNDACION - CURSO DE PAVIMENTOSELIAS RAMIREZ JUAREZ
 

Último (20)

Sistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdfSistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdf
 
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworkingErgonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
 
ESTABILIZACION DE TALUDES CON ESCOLLERAS
ESTABILIZACION DE TALUDES CON ESCOLLERASESTABILIZACION DE TALUDES CON ESCOLLERAS
ESTABILIZACION DE TALUDES CON ESCOLLERAS
 
Regularización de planos playa Las Ventanas
Regularización de planos playa Las VentanasRegularización de planos playa Las Ventanas
Regularización de planos playa Las Ventanas
 
Reino Fungí (1) corregida actividad para la clase de ciencias dirigida a todo...
Reino Fungí (1) corregida actividad para la clase de ciencias dirigida a todo...Reino Fungí (1) corregida actividad para la clase de ciencias dirigida a todo...
Reino Fungí (1) corregida actividad para la clase de ciencias dirigida a todo...
 
Sistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdfSistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdf
 
Morfología interna de insectos, respiración, circulación, nutrición, reproduc...
Morfología interna de insectos, respiración, circulación, nutrición, reproduc...Morfología interna de insectos, respiración, circulación, nutrición, reproduc...
Morfología interna de insectos, respiración, circulación, nutrición, reproduc...
 
EXPOSICION CIENCIA E INGENIERIA DE LOS MATERIALES.doc.pptx
EXPOSICION CIENCIA E INGENIERIA DE LOS MATERIALES.doc.pptxEXPOSICION CIENCIA E INGENIERIA DE LOS MATERIALES.doc.pptx
EXPOSICION CIENCIA E INGENIERIA DE LOS MATERIALES.doc.pptx
 
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdfGUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
 
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
 
Guía de SGSST para MYPES según Ley 28793
Guía de SGSST para MYPES según Ley 28793Guía de SGSST para MYPES según Ley 28793
Guía de SGSST para MYPES según Ley 28793
 
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptxCapacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
Capacitación virtual_Hcampos_Asistencia Tecnica_Cajamarca.pptx
 
Deilybeth Alaña - Operaciones Básicas - Construcción
Deilybeth Alaña - Operaciones Básicas - ConstrucciónDeilybeth Alaña - Operaciones Básicas - Construcción
Deilybeth Alaña - Operaciones Básicas - Construcción
 
Escenario económico - Desarrollo sustentable
Escenario económico - Desarrollo sustentableEscenario económico - Desarrollo sustentable
Escenario económico - Desarrollo sustentable
 
bombeo-de-cavidad-progresiva_compress (1).pptx
bombeo-de-cavidad-progresiva_compress (1).pptxbombeo-de-cavidad-progresiva_compress (1).pptx
bombeo-de-cavidad-progresiva_compress (1).pptx
 
Presentación de proyecto y resumen de conceptos (3).pdf
Presentación de proyecto y resumen de conceptos (3).pdfPresentación de proyecto y resumen de conceptos (3).pdf
Presentación de proyecto y resumen de conceptos (3).pdf
 
Trabajo Mecanismos de cuatro barras.pdf
Trabajo  Mecanismos de cuatro barras.pdfTrabajo  Mecanismos de cuatro barras.pdf
Trabajo Mecanismos de cuatro barras.pdf
 
Circuitos_basicos_de_neumatica miquel carulla .pdf
Circuitos_basicos_de_neumatica  miquel carulla .pdfCircuitos_basicos_de_neumatica  miquel carulla .pdf
Circuitos_basicos_de_neumatica miquel carulla .pdf
 
Procedimeiento y secuencias para el diseño mecánico de ejes
Procedimeiento y secuencias para el diseño mecánico de ejesProcedimeiento y secuencias para el diseño mecánico de ejes
Procedimeiento y secuencias para el diseño mecánico de ejes
 
TERRENO DE FUNDACION - CURSO DE PAVIMENTOS
TERRENO DE FUNDACION - CURSO DE PAVIMENTOSTERRENO DE FUNDACION - CURSO DE PAVIMENTOS
TERRENO DE FUNDACION - CURSO DE PAVIMENTOS
 

Interfaces de múltiples documentos (mdi)

  • 1. Taller de Programación Distribuida Lic. Juvenal Quispe Serna INTERFACES DE MÚLTIPLES DOCUMENTOS (MDI) Cuando trabajamos con aplicaciones Windows existen dos tipos de interfaces o formas de presentar la información en pantalla, éstas son: 1. Interface de Simple Documento (SDI): Presenta un documento en su propia ventana, cada ventana es independiente. Por ejemplo, usan SDI; el Bloc de Notas, el Paint, el WordPad, Office 2000, etc. 2. Interface de Múltiples Documentos (MDI): Presenta todos los documentos sobre una ventana principal (formulario padre) sobre la cual se muestra cada documento en su ventana secundaria (formulario hijo). Por ejemplo, usan MDI: el Visual Studio .NET, SQL Enterprise Manager, Office 97, etc. Hasta ahora todas las aplicaciones creadas que tienen más de un formulario han usado Interfaces de Simples Documentos (SDI). En esta parte, veremos cómo trabajar en .NET, las Interfaces de Múltiples Documentos (MDI); empezaremos aprendiendo a crear un formulario MDI padre y a crear formularios MDI hijos, después aprenderemos cómo organizar a éstos sobre la ventana principal o padre, y finalmente enseñaremos cómo trabajar con el formulario padre desde el hijo y cómo trabajar con el formulario hijo desde el padre. FORMULARIO MDI (Padre) Para crear un formulario MDI Padre que será la ventana principal de la aplicación Windows, sólo hay que configurar la propiedad IsMdiContainer del formulario en True, ya que por defecto esta es False. Una vez creado el formulario MDI Padre, el Visual Studio .NET permite agregar todo tipo de controles, pero una buena práctica es sólo tener menús y barras de herramientas para organizar los comandos de la aplicación.
  • 2. Taller de Programación Distribuida Lic. Juvenal Quispe Serna El formulario MDI Padre creado se muestra en el Diseñador de Formularios Windows con un fondo gris más oscuro que el tradicional fondo gris claro de los formularios Windows, como se aprecia en la siguiente figura: CREANDO UN FORMULARIO MDI HIJO Para crear un formulario MDI Hijo que se muestre dentro de la ventana principal de la aplicación Windows, sólo hay que configurar la propiedad MdiParent del formulario hijo asignándole el formulario MDI Padre, tal como se muestra en el siguiente código:
  • 3. Taller de Programación Distribuida Lic. Juvenal Quispe Serna Nota: La propiedad MdiParent sólo está disponible en tiempo de ejecución, es decir; es obligatorio, realizar la configuración mediante código. Observación: Si no se configura la propiedad MdiParent del formulario hijo, éste se muestra fuera del formulario MDI Padre. Advertencia: Si se configura la propiedad MdiParent y se muestra el formulario Hijo con el método ShowDialog se generará una Excepción. Todos los formularios configurados con la propiedad MdiParent aparecerán sobre el formulario MDI Padre, tal como se aprecia en la siguiente figura: VENTANA DE UN FORMULARIO MDI PADRE CONTENIENDO 3 HIJOS
  • 4. Taller de Programación Distribuida Lic. Juvenal Quispe Serna ORGANIZANDO VENTANAS DENTRO DEL MDI Para organizar las ventanas hijos dentro de la ventana padre hay que usar el método LayoutMdi() del formulario Padre, el cual tiene como parámetros un valor o enumeración de tipo MdiLayout, tal como se muestra en el siguiente código: objPadre.LayoutMdi(valor) ó objPadre.LayoutMdi(MdiLayout.Constante) Los valores o constantes de la enumeración MdiLayout y su efecto se muestran en el siguiente cuadro: Constante Valor Efecto Cascade 0 Organiza las ventanas hijas en cascada. TileHorizontal 1 Muestra en mosaico horizontal las ventanas. TileVertical 2 Muestra en mosaico vertical las ventanas. ArrangeIcons 3 Alinea en la parte inferior los iconos o ventanas que han sido minimizadas. Por ejemplo, si queremos organizar las ventanas en forma horizontal, escribir: ó
  • 5. Taller de Programación Distribuida Lic. Juvenal Quispe Serna Entonces, las ventanas se verán tal como se aprecia en la siguiente figura: Ventanas hijos organizadas en Mosaico Horizontal. Trabajando con el Formulario MDI Padre desde el Hijo Si desde el formulario MDI hijo se quiere usar alguna característica del padre, se debe trabajar con la propiedad MdiParent del formulario hijo que apunta a la instancia actual del formulario padre. Por ejemplo, para mostrar el título del formulario padre como título del formulario hijo, tendríamos que escribir el siguiente código: objHijo.Text = objHijo.MdiParent.Text ó
  • 6. Taller de Programación Distribuida Lic. Juvenal Quispe Serna Me.Text = Me. Mdi Parent.Text Nota: En la segunda sintaxis, me representa a la instancia actual del formulario hijo en el cual se escribe el código. Trabajando con el Formulario MDI Hijo desde el Padre Si desde el formulario MDI padre se quiere usar alguna característica del hijo, hay que realizar dos pasos que son: 1. Verificar si existen formularios hijos abiertos usando la propiedad Length del objeto MdiChildren que es una propiedad del formulario padre, similar al siguiente código: 2. Acceder a una propiedad o control del formulario hijo usando el objeto ActiveMdiChild que es una propiedad del formulario padre, similar al siguiente código: Propiedad_Hijo = Me.ActiveMdiChild.Propiedad Control_Hijo = Me.ActiveMdiChild.Controls(N) Advertencia:Si se accede a una propiedad o control del formulario hijo sin existir instancias en el padre (paso 1) se generará una Excepción.