10
Sep
09

Crear Formularios MDI

Weno, me gustaría comentar sobre los formularios MDI, ya que es un tema que cuando yo lo busque, me recorrí todo el google buscando y solo encontré documentos mediocres que trataban astralidades innecesarias, me han de disculpar los “Elite“, (mi amigo Skrdz), por lo básico de las entradas, pero me han llegado peticiones en otras páginas de que explique cosas básicas que, en realidad, la gente no comenta porque “asumen que los demás ya lo saben”….

MDI = Multiple Document Interface ó Interfaz de múltiples documentos, es básicamente, un contenedor, que te permite abrir dentro de él, multiples ventanas, muy útil para las aplicaciones que requieren utilizar muchos formularios y que no se pierda el control de estos.

La primer cosa que haremos es crear un proyecto de tipo Windows Application, en el proyecto recién creado nos dejará un formulario normal vacío.

Form Normal

Luego iremos a las propiedades del formulario y cambiaremos la propiedad “IsMdiContainer” de False a True

Propiedades IsMdiContainter

Luego de cambiar la propiedad, el cambio más significativo que veremos en el formulario será su color de fondo, que cambiará del clásico gris claro a uno más oscuro y con borde.

Form Mdi

Ahora tenemos un formulario MDI, el cual puede funcionar perfectamente para llamar desde él a otros formularios que se abrirán dentro de este, muy apropiado para aplicaciones grandes como por ejemplo sistemas contables, administrativos, y todo tipo de aplicaciones que puedan diseñarse y que requieran como un formulario raíz, que pueda controlar a todos los demás y controlar todo desde él, ahora, del Cuadro de Herramientas nos jalaremos un ToolStrip, que es una barra de herramientas en la que podemos colocar diversos objetos, nosotros colocaremos un botón…

Agrega Toolstrip

Ahora, para que todo esto tenga utilidad, agregaremos a nuestro proyecto un nuevo formulario que servirá como Hijo de nuestro MDI, y al evento Clic del botón que agregamos al ToolStrip, escribiremos este código…

codigo mdi

Las Líneas:

  • Dim FormHijo As New Form2 : Crea un objeto a partir del Form2 para que podamos utilizarlo, (esto no es estrictamente necesario, pero es para darle orden y no tener que usar nombres muy largos)
  • FormHijo.MdiParent = Me : Le define a FormHijo su formulario principal o padre, (Es como decirle, “Yo soy tu tata“).
  • FormHijo.Show() : despliega el FormHijo dentro del Mdi para poder ser utilizado.

Este sería nuestro Mdi en tiempo de ejecución:

Mdi en ejecución

Y al darle Clic al ToolStripButton1, esto es lo que obtendíamos:

Mdi con form abierto

Se puede jugar con las propiedades de los formularios hijos, como por ejemplo quitarles los botones de maximizar y minimizar, darles un tamaño específico, darles transparencia, etc, todo lo que se nos ocurra para que se vea estético, pero antes que ponerle las flores, debemos estar seguro que funcione bién y con el mínimo de errores, (porque siempre se le escapa algo a uno), o nuestro sistema será como los lindos senos falsos de las actrices porno, muy bonitos pero inútiles.

Saludos a todos y espero que les sirva esta información…


1 Response to “Crear Formularios MDI”


  1. 1 jorge Ubaque
    agosto 15, 2010 a las 6:21 pm

    Viendo el ejemplo que posteaste y que funciona correctamente, me gustaria que vieras el caso que coloques alguna(s) imagen(es) o un contenedor cualquiera en el Parent y veras que cuando abras el mdiHijo, las imagenes flotaran sobre el mdiHijo, como se puede evitar esto, ya que en mi caso el parent debe contener el Logos de la empresa y varias cosas mas.

    gracias por su interes


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: