Vous êtes sur la page 1sur 26

Capitulo 7.

Formularios de Interfaz sencilla (SDI) y mltiple (MDI)

Hasta ahora los ejemplos trabajados se han realizado en proyectos diferentes, es decir,
por cada aplicacin se ha creado un nuevo proyecto. Este tipo de aplicaciones son
llamadas Interfaz de documento sencillo. Algunos programas que manejan este estilo de
interfaz es: wordpad, el bloc de notas, la calculadora de Microsoft Windows.
Una aplicacin de Interfaz de documentos mltiples es aquella que permite visualizar
varios documentos y cada uno en su propia ventana, los ejemplos clsicos son el
procesador de texto Word la hoja de clculo Excel de Microsoft. Las aplicaciones
MDI se reconocen por incluir mens con submens para cambiar entre las distintas
ventanas o documentos.

Creacin de Mens con Interfaz de documento sencillo

Los mens y barras de herramientas proporcionan una forma estructurada y accesible


para que los usuarios aprovechen los comandos y las herramientas contenidas en sus
aplicaciones. La preparacin y el diseo apropiados de mens y barras de herramientas
garantizarn la funcionalidad en la aplicacin.
A menudo, los usuarios examinan los mens antes de buscar informacin sobre la
aplicacin en cualquier otro lugar. Si los mens estn bien diseados, los usuarios
podrn comprender la aplicacin y desarrollar un modelo mental basado nicamente en
la organizacin de los mens y su contenido.
La creacin de un sistema de mens implica varios pasos. Independientemente del
tamao de la aplicacin y la complejidad de los mens que pretenda usar, deben:
Preparar y disear el sistema: Decida los mens que necesita, dnde deben
aparecer en la interfaz, cules requieren submens, etc.
Crear los mens y submens: Defina los ttulos, elementos de men y
submens mediante el Diseador de mens.
Asignar las tareas que desee al sistema: Especifique las tareas que los mens
deben realizar, como mostrar formularios y cuadros de dilogo.
Generar el programa de men: Ejecutar el programa para probar el sistema
de mens.

Ejemplo prctico de mens con interfaz de documento sencillo

En el siguiente ejercicio se realizara una aplicacin que contenga un formulario con


mens y submens, donde el usuario puede abrir, guardar un archivo, salir de la
aplicacin, adems puede cambiar el color del texto, como tambin el tipo de fuente.

Iniciar un nuevo proyecto Visual Basic .NET


En el men Archivo, seleccione Nuevo y, a continuacin, haga clic en
Proyecto.
En el cuadro Nombre, escriba MenuSencillo
Haga clic en Examinar, busque la carpeta donde se quiere crear el nuevo
proyecto, y a continuacin haga clic en Abrir, luego haga clic en Aceptar.

1
Crear la interfaz de usuario.

El siguiente paso para crear el men es seleccionar el control MainMenu del


cuadro de herramientas y ubicarlo en el formulario, adems deber agregar un TextBox
cambindole el valor de la propiedad Drop a Fill y el valor de la propiedad Multiline a
True.. La figura que se debe visualizar es la siguiente:

Figura 7.1. Interfaz de usuario inicial de la aplicacin MenuSencillo

Pulse sobre el control MainMenu1 para que aparezca sobre el formulario el texto
Escriba aqu; all escriba el nombre del men Archivo y a continuacin aada los
siguientes elementos:
o Abrir
o Guardar
o Color
o Fuente
o Salir

La figura seria:

Figura 7.2. Menu de la aplicacin MenuSencillo

2
Tambin es posible definir teclas de acceso o teclas de mtodo abreviado a los
diferentes mens utilizando el teclado. Por ejemplo si se quisiera acceder ms
rpidamente al men Archivo solamente debe pulsar la tecla Alt y a continuacin la
letra A. una vez abierto la opcin y si dentro de esta hubiese un submen llamado
Guardar con solo pulsar la tecla G se puede ejecutar el comando. Para asociar un
mtodo abreviado a las opciones del men se debe anteponer a la letra que se quiere
utilizar como tecla de acceso abreviado el carcter ampersand (&). Entonces siguiendo
con el ejemplo anterior aada las teclas de acceso a las siguientes opciones: Archivo
(letra A), Abrir (letra b), Guardar (letra G), Color (letra C), Fuente (letra F) , Salir (letra
S). La figura quedara de la siguiente manera:

Figura 7.3. Menu con teclas de acceso abreviado

Bien, ahora falta colocar los


dems controles para realizar la
programacin y poder ejecutar los comandos del men. Lo primero que se debe realizar
es seleccionar del cuadro de herramientas los controles ColorDialog, FontDialoog,

3
SaveFileDialog y OpenFileDialog y arrastrarlos hacia el formulario. La figura se
visualizara as:

Figura 7.4. Formulario con los controles estndar

Despus de realizada esta tarea se debe seleccionar la opcin a la cual se le va insertar el


respectivo cdigo y dar doble clic para visualizar el procedimiento. En nuestro ejemplo
seleccionemos la opcin Color y hagamos doble clic para visualizar el procedimiento.
La pantalla seria de la siguiente forma:

Figura 7.5. procedimiento del submen Color

En este procedimiento digite el siguiente cdigo:

Me.ColorDialog1.ShowDialog()
TextBox1.ForeColor = Me.ColorDialog1.Color

4
En la primera lnea se utiliza el mtodo ShowDialog(), que permite abrir el control
ColorDialog1 en tiempo de ejecucin. En la segunda lnea se utiliza el mtodo Color
que permite obtener el color seleccionado por el usuario mediante el cuadro de dialogo
para aplicarlo al color del texto del control TextBox1.

Ahora seleccione la opcin Fuente y haga doble clic para visualizar el procedimiento y
escriba el siguiente cdigo:

Me.FontDialog1.ShowDialog()
TextBox1.Font = Me.FontDialog1.Font

En la primera lnea se utiliza el mtodo ShowDialog(), que permite abrir el control


FontDialog1 en tiempo de ejecucin. En la segunda lnea se utiliza el mtodo Font que
permite obtener la fuente seleccionada por el usuario mediante el cuadro de dialogo para
aplicarlo a la fuente del texto del control TextBox1.

Despus seleccione la opcin Abrir y haga doble clic para visualizar el procedimiento
y escriba el siguiente cdigo:

Me.OpenFileDialog1.Title = "Seleccione el archivo a abrir..."


Me.OpenFileDialog1.InitialDirectory = "C:\"
Me.OpenFileDialog1.Filter = "Archivo de Texto(*.txt)|*.txt"
Me.OpenFileDialog1.ShowDialog()
If Me.OpenFileDialog1.FileName.Length > 1 Then
Dim verarchivo As New IO.StreamReader(Me.OpenFileDialog1.FileName)
Me.TextBox1.Text = verarchivo.ReadToEnd
Else
MsgBox("Archivo no contiene informacin")
End If

En el anterior cdigo lo primero que se hace es utilizar el mtodo Title del control
OpenFileDialog1, el cual permite colocarle un titulo al cuadro de dialogo, luego por
medio del mtodo InitialDirectory se selecciona la carpeta inicial que se visualizara en
el cuadro de dialogo. El mtodo Filter permite visualizar solamente los archivo que
contenga la extensin .txt en este caso y luego se utiliza el mtodo ShowDialog(), que
abre el control OpenFileDialog1 en tiempo de ejecucin. Por medio de la propiedad
Length se determina si el archivo contiene informacin o no. Si contiene informacin se
crea una variable llamada verarchivo de tipo IO.StreamReader (clase que se utiliza para
leer lneas de informacin desde un archivo de texto estndar) que guardar el nombre
del archivo seleccionado y es asignado a la propiedad Text utilizando el mtodo
ReadtoEnd que lee el archivo hasta el final. Si por el contrario no contiene informacin
se mostrara un mensaje informando que el archivo esta vaci.

Ahora seleccione la opcin Guardar y haga doble clic para visualizar el procedimiento y
escriba el siguiente cdigo:

Me.SaveFileDialog1.Title = "Cuadro de Dialogo para guardar un archivo"


Me.SaveFileDialog1.InitialDirectory = "C:\"
Me.SaveFileDialog1.Filter = "Archivo de Texto(*.txt)|*.txt"
Me.SaveFileDialog1.ValidateNames = True
Me.SaveFileDialog1.ShowDialog()
Dim guardararchivo As IO.StreamWriter

5
guardararchivo = New IO.StreamWriter(Me.SaveFileDialog1.FileName)
guardararchivo.Write(Me.TextBox1.Text)
guardararchivo.Close()

En el anterior cdigo lo primero que se hace es utilizar el mtodo Title del control
SaveFileDialog1, el cual permite colocarle un titulo al cuadro de dialogo, luego por
medio del mtodo InitialDirectory se selecciona la carpeta inicial que se visualizara en
el cuadro de dialogo. El mtodo Filter permite visualizar solamente los archivo que
contenga la extensin .txt en este caso, luego se utiliza el mtodo ValidateName con
valor True para validar que el nombre del archivo no contenga caracteres especiales,
adems, se utiliza el mtodo ShowDialog(), que abre el control SaveFileDialog1 en
tiempo de ejecucin. Se crea una variable guardararchivo de tipo StreamWriter (clase
que se utiliza para escribir informacin a un archivo de texto estndar) que guardar el
nombre del archivo de texto y utilizando el mtodo Write se guarda el contenido de
TextBox1. Por ultimo se cierra el archivo.

Establecer las propiedades de los objetos de la interfaz de usuario.


Despus de colocar los controles y haber escrito el respectivo cdigo a cada control ,
faltara modificar las dos propiedades de los siguientes controles:

Tabla 7.1. Propiedades de los controles de la aplicacin

Control Propiedad Valor


TextBox1 Text En blanco
Form1 Text Menu Sencillo

Ejecutar el formulario

Para ejecutar el proyecto en el entorno de desarrollo de visual Basic.NET, se debe


realizar lo siguiente:
Haga clic en el botn Iniciar de la barra de herramientas estndar. Tambin
puede presionar F5 para ejecutar el proyecto. Si la aplicacin se ejecuta sin
errores, aparecer una versin ejecutable del formulario, visualizndose la
siguiente figura:

Figura 7.5. Ejecucin


aplicacin MenuSencillo

6
Ahora escriba un texto y realice los siguientes cambios desde la opcin respectiva del
men Archivo: cambiar de color el texto, cambiar el tipo de fuente, guardar el archivo y
volver a abrir el archivo.

Creacin de Mens con interfaz mltiple

Una aplicacin de interfaz mltiple se compone de un formulario principal, denominado


formulario MDI, que actuara como contenedor de otros formularios abierto en el
transcurso del programa denominado formularios hijos o secundarios MDI.

Ejemplo prctico de formularios MDI

En el siguiente ejercicio se realizara una aplicacin que contenga un formulario MDI


con mens y submens, donde se permitir abrir tres formularios en ventanas
independientes.

Iniciar un nuevo proyecto Visual Basic .NET


En el men Archivo, seleccione Nuevo y, a continuacin, haga clic en
Proyecto.
En el cuadro Nombre, escriba FormularioMDI
Haga clic en Examinar, busque la carpeta donde se quiere crear el nuevo
proyecto, y a continuacin haga clic en Abrir, luego haga clic en Aceptar.

Crear la interfaz de usuario.


Para crear la interfaz de usuario se utilizaran cuatro formularios: el primero ser el
formulario principal y los dems formularios realizaran una labor especfica cada uno.
Creacin del primer Formulario.
En el primer formulario seleccione los siguientes controles: dos Label y un
DateTimePicker (representa un control de Windows que permite al usuario seleccionar
una fecha y una hora, y mostrarlas con un formato especificado) y situelos en el Form1

7
de acuerdo a la siguiente figura:

Figura 7.6. Interfaz de usuario del primer formulario

Establecer las propiedades de los objetos de la interfaz de usuario.


Despus de colocar los controles u objetos en el formulario, establezca las siguientes
propiedades a los controles:

Tabla 7.2. Propiedades de los controles del primer formulario FormularioMDI

Control Propiedad Valor


Text En blanco
Label1 TextAlign MiddleCenter
Font Microsoft Sans Serif, 8,25pt, style=Italia
Text Esta es la nueva fecha escogida
Label2 TextAlign MiddleCenter
Font Microsoft Sans Serif, 8,25pt, style=Bold
Form1 Text Control DateTimePicker

Escribir cdigo

Seleccione el objeto DateTimePicker11, de doble clic para abrir el editor del


procedimiento DateTimePicker1_ValueChanged y escriba el siguiente cdigo:

8
Label1.Text = DateTimePicker1.Text

El cdigo anterior permite visualizar en la propiedad Text del control Label1 la fecha
escogida por el usuario al dar clic en el control DateTimePicker1.

Ejecutar el formulario

Para ejecutar el proyecto en el entorno de desarrollo de visual Basic.NET, se debe


realizar lo siguiente:
Haga clic en el botn Iniciar de la barra de herramientas estndar. Tambin
puede presionar F5 para ejecutar el proyecto. Si la aplicacin se ejecuta sin
errores, aparecer una versin ejecutable del formulario, visualizndose la
siguiente figura:

Figura 7.7. Ejecucin primer formulario

Seleccione del control DateTimePicker la fecha Jueves , 28 de Septiembre de 2006


para visualizar la figura anterior.

Creacin del segundo Formulario.

Para crear el segundo formulario y que quede dentro de la aplicacin FormularioMDI,


se deben realizar los siguientes pasos:
1. En el men Proyecto, seleccione Agregar Windows Forms
2. En el cuadro Nombre, puede cambiar el nombre del formulario. Si desea
cambiarlo digite el nuevo nombre del formulario y a continuacin haga clic en
Abrir para visualizar el segundo formulario

9
Figura 7.8. Agregar un nuevo formulario a la aplicacin

En este momento el explorador de soluciones tendra el siguiente aspecto:

Figura 7.9. Explorador de soluciones con dos formularios

En este formulario seleccione los siguientes controles: cuatro PictureBox (control que
permite desplegar archivos grficos de tipo, gif, bitmap, icon, jpeg.), un GroupBox
(control de Windows que muestra un marco alrededor de un grupo de controles con un
ttulo opcional.) y tres RadioButton (control que permite a un usuario escoger una
alternativa entre varias opciones), la interfaz quedara como se muestra en la figura:

Figura 7.10. Interfaz de usuario segundo formulario

10
Establecer las propiedades de los objetos de la interfaz de usuario.
Despus de colocar los controles u objetos en el formulario, establezca las siguientes
propiedades a los controles:

Tabla 7.3. Propiedades de los controles del segundo formulario

Control Propiedad Valor


Picturebox1, SizeMode StretchImage
PictureBox2, Visible False
PictureBox3. Image La imagen que seleccione el usuario
Picture4 SizeMode StretchImage
GroupBox1 Text Figuras
RadioButton1 Text Portatil
RadioButton2 Text Satelite
RadioButton3 Text Fotocopiadora
Form1 Text Control DateTimePicker

Escribir cdigo

Seleccione el objeto RadioButton1, de doble clic para abrir el editor del procedimiento
RadioButton1_CheckedChanged y escriba el siguiente cdigo:

If (RadioButton1.Checked) Then
PictureBox4.Image = PictureBox1.Image
End If
Seleccione el objeto RadioButton2, de doble clic para abrir el editor del procedimiento
RadioButton2_CheckedChanged y escriba el siguiente cdigo:

11
If (RadioButton2.Checked) Then
PictureBox4.Image = PictureBox2.Image
End If

Seleccione el objeto RadioButton3, de doble clic para abrir el editor del procedimiento
RadioButton3_CheckedChanged y escriba el siguiente cdigo:

If (RadioButton3.Checked) Then
PictureBox4.Image = PictureBox3.Image
End If

En los cdigos anteriores al seleccionar cualquiera de los controles RadioButton le


asignara a la propiedad Image del control PictureBox4 la imagen que contenga el
PictureBox que ha sido seleccionado.

Ejecutar el formulario

Para ejecutar el proyecto en el entorno de desarrollo de visual Basic.NET, se debe


realizar lo siguiente:
En el men Proyecto, seleccione propiedades de FormularioMDI, en la
opcin Objeto inicial seleccione el formulario Form2 y pulse Aceptar.
Haga clic en el botn Iniciar de la barra de herramientas estndar o presione
F5 para ejecutar el proyecto.
Se visualizar la siguiente figura:

Figura 7.11. Ejecucin segundo formulario

Creacin del tercer Formulario.

12
Para crear el tercer formulario y que quede dentro de la aplicacin FormularioMDI, se
deben realizar los mismos pasos que se realizaron para agregar el formulario dos:
1. En el men Proyecto, seleccione Agregar Windows Forms
2. En el cuadro Nombre, puede cambiar el nombre del formulario. Si desea
cambiarlo digite el nuevo nombre del formulario y a continuacin haga clic en
Abrir para visualizar el nuevo formulario.

En este formulario seleccione los siguientes controles: un Label y tres TrackBar. El


control TrackBar tiene dos partes: el control de posicin, tambin conocido como
control deslizante, y las marcas de paso. El control de posicin es la parte que puede
ajustarse. Su posicin corresponde a la propiedad Value. Las marcas de paso son
indicadores visuales espaciados a intervalos regulares. La barra de seguimiento se
desplaza en los incrementos que se especifiquen y puede alinearse horizontal o
verticalmente. Un ejemplo del uso de una barra de seguimiento sera el establecimiento
de la velocidad de intermitencia del cursor o de la velocidad del mouse (ratn). La
interfaz quedara como se muestra en la figura:
Figura 7.12. Interfaz de Usuario tercer Formulario

Establecer las propiedades de los objetos de la interfaz de usuario.


Despus de colocar los controles u objetos en el formulario, establezca las siguientes
propiedades a los controles:

Tabla 7.4. Propiedades de los controles del tercer formulario

Control Propiedad Valor


TrackBar1 Maximum 255
TrackBar2 Minimum 0
TrackBar3
Label Text En blanco

13
Form1 Text Colores Personalizados con TrackBar

Escribir cdigo

Seleccione el objeto TrackBar1, de doble clic para abrir el editor del procedimiento
TrackBar1_Scroll y escriba el siguiente cdigo:

Label1.BackColor = Color.FromArgb(TrackBar1.Value,_
TrackBar2.Value, TrackBar3.Value)

Seleccione el objeto TrackBar2, de doble clic para abrir el editor del procedimiento
TrackBar2_Scroll y escriba el siguiente cdigo:

Label1.BackColor = Color.FromArgb(TrackBar1.Value,_
TrackBar2.Value, TrackBar3.Value)

Seleccione el objeto TrackBar3, de doble clic para abrir el editor del procedimiento
TrackBar3_Scroll y escriba el siguiente cdigo:

Label1.BackColor = Color.FromArgb(TrackBar1.Value,_
TrackBar2.Value, TrackBar3.Value)

En los cdigos anteriores al seleccionar cualquiera de los controles TrackBar le


asignara a la propiedad BackColor del control Label el valor de cada uno de los
controles TrackBar para definir un color, por medio de la clase Color utilizando el
mtodo FromArgb el cual permite crear una estructura Color a partir de los cuatro
valores de los componentes ARGB de 8 bits (alfa, rojo, verde y azul). En este caso el
valor alfa se omite.

Ejecutar el formulario

Para ejecutar el proyecto en el entorno de desarrollo de visual Basic.NET, se debe


realizar lo siguiente:
En el men Proyecto, seleccione propiedades de FormularioMDI, en la
opcin Objeto inicial seleccione el formulario Form3 y pulse Aceptar.
Haga clic en el botn Iniciar de la barra de herramientas estndar o presione
F5 para ejecutar el proyecto.
Se visualizar la siguiente figura:

Figura 7.13. Ejecucin tercer formulario

14
Desplace la barra de desplazamiento de cada control TrackBar para obtener el color
deseado.

Creacin Formulario Principal (MDI).


Para crear el formulario principal el cual contiene el men para ejecutar a los dems
formularios como tambin otras opciones que se irn explicando y que sea el formulario
principal de la aplicacin FormularioMDI, se deben hacer los mismos pasos que se
realizaron para agregar el formulario dos y tres:
1. En el men Proyecto, seleccione Agregar Windows Forms
2. En el cuadro Nombre, cambie el nombre del formulario por Principal.vb y a
continuacin haga clic en Abrir para visualizar el formulario.
Figura 7.14. formulario principal de FormularioMDI

En este formulario seleccione la propiedad IsMdicontainer y coloque el valor de True


para que el formulario tenga un comportamiento de un contenedor MDI. Al cambiar el

15
valor de la propiedad el color de fondo ser de un gris ms oscuro, como lo muestra la
siguiente figura:

Figura 7.15. formulario principal con comportamiento como contenedor

El siguiente paso para crear el men es seleccionar el control MainMenu del


cuadro de herramientas y ubicarlo en el formulario, asigne a la propiedad Menu del
formulario el objeto MainMenu1. Se visualizar la siguiente figura:

Figura 7.16 formulario principal con el control MainMenu

Ahora
sobre el texto Escriba aqu, escriba el nombre del men Archivo y vaya aadiendo
los elementos que muestra la siguiente figura :

16
Figura 7.17. formulario principal con el diseo del men

Modifique las opciones principales del men de la siguiente forma:


En la opcin del men Edicin agrguele los siguientes submens:
o Copiar
o Pegar
o Cortar

Figura 7.18. Formulario principal y la opcin Edicin

17 del men Mis formularios agrguele los siguientes submens:


En la opcin
o Fecha
o Imgenes
o Colores

Figura 7.19. Formulario principal y la opcin Mis formularios

17
En la opcin del men Ventana agrguele los siguientes submens:
o Cascada
o Mosaico horizontal
o Mosaico Vertical
o Organizar Iconos

Figura 7.20. Formulario principal y la opcin Ventana

Tambin es posible definir teclas de acceso o teclas de mtodo abreviado a los


diferentes mens utilizando el teclado. Por ejemplo si se quisiera acceder ms
rpidamente al men Edicin solamente debe pulsar la tecla Alt y a continuacin la
letra E. una vez abierto la opcin y si dentro de esta hubiese un submen llamado
Deshacer con solo pulsar la tecla D se puede ejecutar el comando. Para asociar un
mtodo abreviado a las opciones del men se debe anteponer a la letra que se quiere
utilizar como tecla de acceso abreviado el carcter ampersand (&). Entonces con el
ejemplo anterior aada la tecla de acceso a las siguientes opciones: Archivo, Edicin,
Mis formularios, Ventana. La figura quedara de la siguiente manera:

Figura 7.21. Formulario principal y el men con teclas de acceso abreviado

Bien, ahora nos falta realizar la programacin para poder abrir los formularios desde las
diferentes opciones del men. Lo primero que se debe realizar es seleccionar la opcin
deseada y dar doble clic para visualizar el procedimiento. En nuestro ejemplo
seleccionemos la opcin Mis formularios y de all escojamos la opcin Fecha.

Figura 7.22. Submen Fecha del formulario principal

18
Hagamos doble clic sobre la opcin Fecha para visualizar el procedimiento
MenuItem20_Click (el numero del menuItem puede cambiar de acuerdo a las opciones
que halla creado en el men principal). La pantalla seria de la siguiente forma:
Private Sub MenuItem20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MenuItem20.Click

End Sub

En este procedimiento digite el siguiente cdigo:

Dim formulario1 as new Form1


Formulario1.MdiParent=Me
Formulario1.show()

En la primera lnea se crea un objeto llamado formulario1 de tipo Form1, en la segunda


lnea asignamos a la propiedad MdiParent la instancia actual del formulario en
ejecucin, es este caso Me contiene el formulario actual y por ultimo por medio del
mtodo show se muestra el formulario.

Hagamos doble clic sobre la opcin Imgenes para visualizar el procedimiento. En este
procedimiento digite el siguiente cdigo:

Dim formulario2 as new Form2


Formulario2.MdiParent=Me
Formulario2.show()

Hagamos doble clic sobre la opcin Color para visualizar el procedimiento. En este
procedimiento digite el siguiente cdigo:

Dim formulario3 as new Form3


Formulario3.MdiParent=Me
Formulario3.show()

Ejecutar el formulario

Para ejecutar el proyecto en el entorno de desarrollo de visual Basic.NET, se debe


realizar lo siguiente:
Haga clic en el botn Iniciar de la barra de herramientas estndar. Tambin
puede presionar F5 para ejecutar el proyecto. Si la aplicacin se ejecuta sin
errores, aparecer una versin ejecutable del formulario, visualizndose la

19
siguiente figura:

Figura 7.23. Ejecucin aplicacin FormulariosMDI

Al seleccionar cada una de las opciones del men Mis formularios, se visualizaran
cada uno de los formularios que se han diseado. Podr hacer clic en cualquier opcin
las veces que se quiera y se Irn visualizando el formulario escogido n veces.

Figura 7.23. Ejecucin de formularios en el MDI

Inhabilitacin de opciones del men en formularios MDI

20
En la aplicacin que se ha trabajado se puede apreciar que se puede abrir tantas copias
de los formularios como se necesiten. Para conseguir que de un determinado formulario
se pueda abrir una sola instancia, en primer lugar se debe deshabilitar la opcin del
men que abre dicho formulario, asignndole False a la propiedad Enabled. Entonces
seleccione la opcin Fecha y haga doble clic y adicione el siguiente cdigo:

Me.MenuItem20.Enabled = False

En segundo lugar, cada vez que se cierra un formulario se activa el evento Closed, por
consiguiente se debe modificar dicho evento con el siguiente cdigo:

CType(MdiParent, Principal).MenuItem20.Enabled = True

En el cdigo anterior se utilice la funcin CType que devuelve el resultado de convertir


explcitamente una expresin a un tipo de datos, objeto, estructura, clase o interfaz. La
expresin es la instancia actual del formulario en ejecucin y el formulario es el tipo de
de dato, para as poder acceder a la opcin Fecha del formulario Principal y volverla a
habilitar.

Al ejecutar nuevamente el formulario Principal y seleccionar la opcin Fecha, se podr


apreciar que esta queda deshabilitada. Se volver a Habilitar al cerrar el formulario.

Figura 7.24. Inhabilitacin de opciones del menu

Manipulacin del men Ventana

21
En le ejemplo que se ha venido trabajando, se creo un men llamado Ventana. Esta
opcin puede permitir visualizar los nombres de los formularios abiertos, permitiendo
cambiar de formulario activo al seleccionar una de esas opciones. Para esto en la opcin
Ventana se debe asignar a la propiedad MdiList el valor de True.
Para dar un aspecto ms profesional se aadi unas opciones que permiten la
organizacin de los formularios en: cascada, mosaico horizontal y mosaico vertical.
Para organizar los archivos abiertos se debe ejecutar el mtodo LayoutMdi() pasndole
como argumento la opcin deseada. Entonces seleccione la opcin Cascada, de doble
clic y escriba el siguiente cdigo:

Me.LayoutMdi(MdiLayout.Cascade)

Para la opcin mosaico horizontal:


Me.LayoutMdi(MdiLayout.TileHorizontal)

Y para la opcin mosaico vertical:


Me.LayoutMdi(MdiLayout.TileVertical)

Al ejecutar nuevamente la aplicacin y seleccionando cada una de las opciones del


men Mis formularios, luego seleccionar la opcin Cascada se visualizara la siguiente
figura:

Figura 7.25. Formularios en Cascada

Como se puede apreciar los formularios abiertos se organizan en cascada, y tambin se


visualiza el nombre de los diferentes archivos abiertos y por medio de un cuadro de
verificacin se muestra el formulario activo.
Si se selecciona la opcin Mosaico Horizontal, se visualizara la siguiente figura:

22
Figura 7.26. Formularios en horizontal

Al seleccionar la opcin Mosaico Vertical, se visualizara la siguiente figura:

Figura 7.27. Formularios en Vertical

Creacin de una barra de herramientas en un formulario MDI

Siguiendo con el ejemplo que se ha venido trabajando, tambin es posible aadirle una

23
barra o ms barras de herramientas como se maneja en el entorno Windows, con el fin
de realizar de forma ms rpida algunas tareas, como por ejemplo: copiar, pegar, cortar,
guardar, etc. Para aadir una barra de herramientas se utiliza el control ToolBar .
Entonces agregndole un control ToolBar a nuestro ejemplo, se visualizara la siguiente
figura:

Figura 7.28. Formulario con barra de herramientas

Ahora seleccionemos el control Toolbar y seleccionemos la propiedad Buttons para


agregarle botones que nos permitirn realizar diversas tareas, en nuestro caso le
agregaremos 4 botones. Al seleccionar la propiedad se muestra una ventana de dialogo
llamada Editor de la Coleccin ToolBarButton, y con el botn Agregar se podrn
agregar los botones que se desean. La figura visualiza la adicin de los botones al
ejemplo.

Figura 7.29. Editor de la coleccin ToolbarButton

24
Ahora se deben agregar las imgenes a cada botn con el fin de hacerlo ms grafico.
Entonces seleccione el control ImageList del cuadro de herramientas y agrguelo al
formulario Principal, luego seleccione la propiedad Images del control ImageList para
visualizar el Editor de la coleccin Image y con el botn Agregar seleccione las
imgenes deseadas. Para incluir en los botones, la siguiente figura ilustra la seleccin de
imgenes.

Figura 7.30. Editor de la coleccin Image

Ahora el siguiente paso es adicionar cada imagen al respectivo botn. Lo primero es


seleccionar el control ToolBar1 y seleccionar la propiedad ImageList y agregarle el
control ImageList1. Ahora seleccione la propiedad Button y seleccionando el control

25
respectivo modifique la propiedad ImageIndex y seleccione la imagen correspondiente y
la propiedad ToolTipText y adicione el texto respectivo para cuando se acerquen con el
Mouse se visualice el texto de indica la operacin que realiza dicho control. Se
visualizara la siguiente figura:

Figura 7.31. Formulario con barra de herramientas e imagenes

Si se desea programar cada uno de los controles de la barra de herramientas, haga doble
clic sobre el control ToolBar1 y en el procedimiento escriba el cdigo correspondiente
por cada control existente. En este caso se escribir cdigo para que se ejecute cuando
se pulse el ToolbarButton1 de la siguiente manera:
If e.Button Is ToolBarButton1 Then
MsgBox("Tarea a realizar el control")
End If
En anterior cdigo se pregunta que si evento que se ha realizado es de tipo Button y que
si ese control es el ToolBarButton1 muestre el mensaje correspondiente. Al hacer clic
sobre el control se visualiza la siguiente figura:

Figura 7.33. Ejecucin de un boton de la barra de herramientas

26

Vous aimerez peut-être aussi