Académique Documents
Professionnel Documents
Culture Documents
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.
1
Crear la interfaz de usuario.
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:
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:
3
SaveFileDialog y OpenFileDialog y arrastrarlos hacia el formulario. La figura se
visualizara as:
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
Despus seleccione la opcin Abrir y haga doble clic para visualizar el procedimiento
y escriba el siguiente cdigo:
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:
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.
Ejecutar el formulario
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.
7
de acuerdo a la siguiente figura:
Escribir 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
9
Figura 7.8. Agregar un nuevo formulario a la aplicacin
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:
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:
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
Ejecutar el 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.
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)
Ejecutar el formulario
14
Desplace la barra de desplazamiento de cada control TrackBar para obtener el color
deseado.
15
valor de la propiedad el color de fondo ser de un gris ms oscuro, como lo muestra la
siguiente figura:
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
17
En la opcin del men Ventana agrguele los siguientes submens:
o Cascada
o Mosaico horizontal
o Mosaico Vertical
o Organizar Iconos
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.
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
Hagamos doble clic sobre la opcin Imgenes para visualizar el procedimiento. En este
procedimiento digite el siguiente cdigo:
Hagamos doble clic sobre la opcin Color para visualizar el procedimiento. En este
procedimiento digite el siguiente cdigo:
Ejecutar el formulario
19
siguiente figura:
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.
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:
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)
22
Figura 7.26. Formularios en horizontal
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:
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.
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:
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:
26