ESCUELA TÉCNICA SUPERIOR KINAL VISUAL STUDIO.NET INSTRUCTOR EDWIN TUMAX LABORARIO #1 SEMINARIO I VB.NET Fec. Entrega 16/02/2008 INSTRUCCIONES: El siguiente laboratorio tiene como objetivo el aprendizaje sobre el manejo de los formularios Windows Forms, realice los siguientes pasos para llevar a cabo el laboratorio. 1. Inicie un nuevo proyecto asignándole el nombre de Formularios_MDI siendo este un proyecto de una aplicación de Windows, tal y como se muestra en la siguiente figura: 2. Inicialmente el proyecto muestra un formulario normal pero debemos indicarle que será un formulario “PRINCIPAL” modificando la propiedad IsMdiContainer igual a TRUE como lo muestra la figura. 3. Ahora vamos a crear los formularios hijos, para esto debemos de agregar tres formularios Windows Form. Para añadir un formulario a nuestra aplicación basta con seleccionar la ventana del Explorador de Soluciones, luego hacemos click derecho encima del nombre del proyecto en este caso Formularios_MDI en el menú contextual seleccionamos Add > Add Windows Form como lo muestra la siguiente figura De esta manera tendremos en nuestro proyecto un formulario Padre Form1 y tres formularios hijos llamados Form2, Form3 y Form4. 4. Ahora vamos agregar un objeto llamado MenuStrip arrastrándolo de la barra de controles a nuestro formulario padre llamado Form1, este objeto permitirá llamar a los formularios hijos desde un menú como lo muestra la siguiente figura. Tips: Para poder acceder a una opción del menú por medio de combinaciones de teclas no olvide utilizar el & para lograr esto. 5. Para darle mejor apariencia a los menús vamos a utilizar unas imágenes en cada una de las opciones, esto lo podemos hacer modificando la opción Image de cada una de las opciones del menú y para que no comprima el tamaño de la imagen modificamos la opción ImageScaling igual a None como lo muestra la siguiente figura. 6. Ahora vamos hacer que cuando presionemos en cada una de las opciones del menu podamos mostrar cada formulario hijo. Para lograr esto haremos lo siguiente: a) Damos doble click en la primera opción del menú en este caso Form 2, nos aparecerá el editor de Visual Basic.Net en donde escribiremos el siguiente código. Private Sub Form1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form2ToolStripMenuItem.Click 'Heredamos el formulario hijo al formulario MDI llamado tambien podemos hacer referencia con Me My.Forms.Form2.MdiParent = Me 'Mostramos el formulario con el procedimiento show My.Forms.Form2.Show() Form1 que End Sub b) Damos ahora doble click en la segunda opción del menú en este caso Form 3, nos aparecerá el editor de Visual Basic.Net en donde escribiremos el siguiente código. Private Sub Form2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form3ToolStripMenuItem.Click 'Heredamos el formulario hijo al formulario MDI que este caso es Form1 My.Forms.Form3.MdiParent = Me 'Mostramos el formulario con el procedimiento show My.Forms.Form3.Show() End Sub c) Por último doble click en la tercera opción del menú en este caso Form 4, nos aparecerá el editor de Visual Basic.Net en donde escribiremos el siguiente código. Private Sub Form3ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form4ToolStripMenuItem.Click 'Heredamos el formulario hijo al formulario MDI que este caso es Form1 My.Forms.Form4.MdiParent = Me 'Mostramos el formulario con el procedimiento show My.Forms.Form4.Show() End Sub 7. Ejecutamos el proyecto presionando la tecla F5 luego seleccionamos cada uno de las opciones para mostrar los tres formularios como lo muestra la figura 8. Sin embargo, estas ventanas siguen apareciendo de una forma poco organizada, por lo que conviene ordenar bien las ventanas abiertas mediante algún mecanismo. En Windows Form podemos hacer uso de un conjunto de funciones que nos permiten ordenar los documentos abiertos en una aplicación MDI. Para hacer esto, acudiremos nuevamente al menú principal (control MenuStrip) y añadiremos un nuevo menú dentro del formulario principal MDI o Form1. El menú nuevo quedaría de la siguiente manera: Sin embargo, nuestro deseo es más ambicioso, y es que dentro de esta opción, aparezcan las ventanas asociadas a nuestro documento, de tal manera que podamos saltar de una ventana a otra sin problemas dentro de nuestra aplicación MDI, por lo que debemos indicar de alguna manera esta función, así que haremos un clic derecho sobre el objeto MenuStrip y acudiremos a la ventana de propiedades. En la ventana de propiedades, modificaremos la propiedad MdiWindowListItem a VentanaToolStripMenuItem como lo muestra la siguiente figura. El funcionamiento de esta propiedad es el que puede verse en la siguiente figura. Pero aún no hemos programado la posibilidad u opción de ordenar las ventanas en cascada, en una ordenación horizontal y/o en una ordenación vertical. El código de cada una de estas funciones es el que se detalla a continuación: a) Damos doble click en la primera opción del menú ventana en este caso Cascada, nos aparecerá el editor de Visual Basic.Net en donde escribiremos el siguiente código. Private Sub CascadaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CascadaToolStripMenuItem.Click 'Ordena las ventanas abiertas en forma de cascada Me.LayoutMdi(MdiLayout.Cascade) End Sub b) Damos ahora doble click en la segunda opción del menú en este caso Mosaico Horizontal, nos aparecerá el editor de Visual Basic.Net en donde escribiremos el siguiente código. Private Sub MosaicoHorizontalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MosaicoHorizontalToolStripMenuItem.Click 'Ordena las ventanas abiertas en forma de Mosaico Horizontal Me.LayoutMdi(MdiLayout.TileHorizontal) End Sub c) Por último doble click en la tercera opción del menú en este caso Mosaico Vertical, nos aparecerá el editor de Visual Basic.Net en donde escribiremos el siguiente código. Private Sub MosaicoVerticalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MosaicoVerticalToolStripMenuItem.Click 'Ordena las ventanas abiertas en forma de Mosaico Vertical Me.LayoutMdi(MdiLayout.TileVertical) End Sub Ejecutamos el proyecto presionando la tecla F5 y seleccionamos las opciones del menú Ventana para visualizar el resultado. 9. Por Ultimo seleccionamos un fondo para Formulario MDI o Form1 modificando la propiedad BackgroundImage igual a la imagen Fondo.jpg y la propiedad WindowState a Maximized. CONCLUSION: Como vemos, la aplicación MDI es muy fácil de desarrollar con Visual Basic .NET. Tan sólo debemos tener en cuenta algunos cambios producidos para no cometer errores, aún así, en pocas líneas de código como vemos, podemos desarrollar nuestra aplicación MDI, muy utilizadas por ejemplo para desarrollar un editor de textos.