You are on page 1of 9

Aprende Visual Basic.

com

FORMULARIOS
Los formularios son tratados como controles con sus propiedades,
eventos y mtodos. Aunque digamos que se trata de un control
especial que utilizamos para contener los controles ms usuales con
los que construiremos nuestras aplicaciones: textbox, label,
commandbutton, etc...
En este captulo vamos a ver las propiedades y eventos ms
importantes de los formularios, como trabajar con mltiples
formularios y como se establece la comunicacin entre ellos.

Propiedades
Las propiedades ms comunes de los formularios y que son similares
al resto de los controles son las siguientes:
Name: Nombre del formulario, necesario para
llamar al formulario desde el cdigo.
Caption: Texto que aparece en el ttulo del
formulario
Backcolor: Color de fondo del formulario.
Forecolor: color del texto del formulario.
Otras propiedades que son prppias de los formularios y que es
importante conocerlas para realizar una buena presentacin en
nuestras aplicaciones son las siguientes:
WindowState: Nos permite indicar el modo en el que aparecer el
formulario cuando sea llamado. Tiene tres posibles valores:

0 - Normal
1 - Minimizado.
2 - Maximizado.
MinButton y MaxButton: Son dos propiedades que admiten
nicamente los valores True o False. Permiten que queden
habilitados los botones minimizar y maximizar, respectivamente de
un formulario.Nos sirven para controlar que el usuario no pueda
cambiar el tamao en que presentemos un formulario en pantalla.Si
slo desactivamos una de las propiedades, el botn correspondiente
aparecer desactivado, pero si desactivamos las dos propiedades, no
aparecer ninguno de los 2 botones, nicamente lo har el botn con
la "x" de cerrar.
MinButton = True
MaxButton = True

MinButton = False
MaxButton = True

MinButton = True
MaxButton = False

MinButton = False
MaxButton = False

ShowInTaskbar: Mediante esta propiedad podremos controlar que


determinado formulario aparezca o no en la barra de tareas de
Windows. En una aplicacin con mltiples formularios, si para cada
uno de los que aparezca en pantalla, nos aparece tambin en la barra
de tareas, al final la barra estar llena de aplicaciones. Podemos
hacer que determinados formularios no aparezcan en ella colocando
esta propiedad a False.
Icon: Nos permite modificar el icono que aparece a la izquierda de la
barra del ttulo de cualquier formulario, que es donde aparece el
men de control, para personalizarlo en nuestra aplicacin
El icono que aparece por defecto en todos los formularios se puede
cambiar por otro ms simptico:

ControlBox: Controla la aparicin del men de control. Esta


propiedad por defecto est activada, aunque si la ponemos a False,
no slo hacemos desaparecer el icono que simboliza al men de
control, sino que desaparecen tambin los botones de minimizar,
maximizar y cerrar. Unicamente aparece la barra de titulo con el
caption:

Si adems de colocar ControlBox a False, colocamos MinButton y


MaxButton a False y dejamos vaca la propiedad Caption, es decir
sin nada en el ttulo, nos aparecer un formulario sin barra de titulo,
es decir, nicamente un rectngulo gris que s podremos cambiar de
tamao apuntando sobre el borde.
BorderStyle: Esta propiedad es la que ms opciones tiene y la que
ms posibilidades ofrece para cambiar el aspecto de nuestros
formularios. El cambiar el valor de esta propiedad afecta tambin a
las propiedades MinButton, MaxButton y ShowInTaskbar que
cambian automticamente segn la opcin que hayamos
seleccionado. En la siguiente tabla aparece una explicacin de cada
una de sus opciones y de que valor adoptan otras propiedades del
formulario:
Opciones de
MinButton MaxButton ShowInTaskbar
Utilidad
Muestra
BorderStyle
No aparecen bordes
ni barra de titulo.
No podemos
modificar su
tamao de ninguna
0- None
False False
False
forma. Sirve para
pantallas de
presentacin al
principio de nuestra
aplicacin
No se puede
cambiar su
tamao.Ni siquiera
se puede
maximizar
haciendo doble
1 - Fixed
click sobre la barra False False
True
Single
del ttulo, algo que
s se puede hacer
desactivando los
botones MinButton
y MaxButton en un
formulario normal
Formulario por
defecto de
VB.Contiene todos
los botones de la
2 - Sizable
barra del ttulo, se
(aparece por
True True
True
puede cambiar su
defecto)
tamao actuando
sobre el borde y
aparece en la barra
de tareas.

No se puede
cambiar su tamao
y no aparece en la
barra de tareas

False

False

False

Aparece con la
barra de titulo ms
pequea, es el que
utiliza VB para
mostrar la caja de
4 - Fixed
herramientas. No
ToolWindow
aparece el icono
del men de
control ni aparece
en la barra de
tareas.

False

False

False

Igual que el
anterior pero s
5 - Sizable
permite modificar False
ToolWindow
su tamao actuando
sobre el borde.

False

False

3 - Fixed
Dialog

UTILIZACION DE MULTIPLES
FORMULARIOS
Para utilizar varios formularios en nuestra aplicacin tendremos que
aadir cada uno de ellos mediante la opcin de men Insert / Form o
pulsando sobre el botn

Mtodo Show
Para llamar a un formulario desde el cdigo utilizaremos el mtodo
Show. Si el formulario 2 tiene en la propiedad Name form2, para
llamarlo desde otro formulario pondremos:
Form2.Show

Si no ponemos ningn argumento se asume que el formulario aparece


en modo no modal, es decir, se permitir que se active cualquier otro
formulario sin cerrar el formulario 2. La otra modalidad que existe es
modal, lo que significa que no se permite el enfoque hacia ningn
otro formulario hasta que no se cierre el actual. Este ltimo modo
puede servir para cuadros de dilogo que soliciten ciertos parmetros
para que la aplicacin siga funcionando: una contrasea.
Los argumentos del mtodo Show son:
0
vbModeless
No modal
1

vbModal

Modal

Ejemplo:
Form2.Show vbModal

Sentencia Load
La sentencia Load seguida del nombre de un formulario provoca que
se cargue el formulario en memoria pero sin visualizarse, ya que la
propiedad Visible se coloca a False.
Ejemplo
Load Form2

Realmente el mtodo Show realiza la carga del formulario en memoria,


si no estaba cargado antes, y coloca la propiedad Visible del
formulario a True. Durante este proceso se provoca la activacin de
los eventos Load y Activate del formulario en ese orden. En dichos
eventos se puede colocar el cdigo necesario que haga que el
formulario se inicie siempre con los valores que queramos.
Si el formulario ya estaba cargado en memoria, mediante una
sentencia Load o porque se haya ocultado con el mtodo Hide, al
llamarlo con el mtodo Show, nicamente se realizar la modificacin
de la propiedad Visible a True, y no se volver a efectuar el proceso
de carga del formulario a memoria.Por tanto el formulario aparecer
con los mismos datos que tena cuando se ocult. Ahora el nico
evento que se activar es el Activate que se actuva cada vez que un
formulario recibe el enfoque o pasa a ser el formulario activo.

Sentencia Unload
Nos permite descargar un formulario de la memoria. Se introduce
junto al nombre del formulario que vayamos a descargar:
Unload Form2

Si nos encontramos dentro del mismo formulario para descargarlo no


hace falta colocar el nombre sino nicamente:
Unload me

En una aplicacin con varios formularios debemos usar esta sentencia


para los mtodos que terminamos de utilizar, de esta forma
liberaremos espacio en memoria para que los otros formularios
puedan aprovecharla mejor.
La sentencia unload provoca la activacin de los eventos:

Deactivate: Al contrario que el evento Activate, este se activa


cada vez que un formulario pierde el enfoque. Tambin se
activa este evento al utilizar el mtodo Hide.
Unload: Este evento recibe el parmetro Cancel, y modificando
su valor podemos hacer que se suspenda (cancele) el proceso
de descarga de un formulario. Mediante 2 lneas de cdigo
podemos hacer una pregunta al usuario cada vez que se cierra
un formulario para que nos confirme la operacin:

Este cdigo provocar que cada vez que se cierre el


formulario de cualquier forma, (no slo mediante la
sentencia Unload sino tambien haciendo click sobre la "x",
el men de control o con ALT + F4) aparezca un mensaje
preguntndonos si realmente queremos salir:

Este tipo de mensajes los veremos en el captulo siguiente


dedicado a los cuadros de dilogo.

Query_Unload: Este evento se produce realmente antes que el


evento Unload, aunque por las posibilidades que tiene quera
dejarlo para el final.
En este evento adems de recoger el parmetro Cancel,
tambin nos proporciona el parmetro UnloadMode que
segn el valor que tenga podremos saber desde donde se
produce la posible descarga del formulario. Los valores
que puede tener son los siguientes:
0 - vbFormControlMenu: Significa que el
cierre del formulario se ha producido:

Pulsando sobre la "x"


Mediante la opcin cerrar
del Men de Control.

Pulsando ALT + F4.

Cerrando el formulario
desde la Barra de Tareas.

1 - vbFormCode: Indica que se ha cerrado el


formulario utilizando la sentencia Unload.
2 - vbAppWindows: Se cierra el formulario
porque se apaga el sistema desde Inicio /
Apagar Sistema.
3 - vbAppTaskManager: Desde el
administrador de tareas de windows (CTRL +
ALT + DEL) se cierra la aplicacin que
contiene el formulario
4 - vbFormMDIForm: Se produce cuando se
cierra un formulario hijo porque se est
cerrando el formulario MDI que lo contiene.
Mediante unas lneas de cdigo vamos a probar las
posibilidades de este evento. Segn desde donde se
cierre el formulario del que consta la aplicacin aparecer
un mensaje distinto pidindonos confirmacin en el
proceso de descarga.
Nota: Para el correcto funcionamiento de este ejemplo se
debe compilar la aplicacin mediante File / Make EXE
File... y ejecutar la aplicacin desde fuera del entorno de
trabajo de VB.Esto es as para que se pueda cerrar la
aplicacin apagando el sistema y desde el administardor
de tareas.
El cdigo asociado al evento Query_Unload es el
siguiente:

COMUNICACION ENTRE
FORMULARIOS
Desde un formulario se puede tener acceso a los controles y
propiedades de otro formulario.
En lugar de realizar el paso de parmetros cuando se llama a otro
formulario que queremos que aparezca con unos determinados
valores iniciales, lo que se hace es acceder a los controles del otro
formulario y despus mostrarlo mediante el mtodo Show.
Para acceder a los controles de otro formulario se sigue la siguiente
sintaxis:
Formulario!Control.Propiedad = valor
Se debe colocar una admiracin "!" entre el formulario y el control y
un punto entre el control y la propiedad

Ejemplo:
Form2!Label1.Caption = "Nmero de Clientes"

Al acceder a las propiedades de otro formulario automticamente se


carga ste en memoria, si no lo estaba ya antes. Una vez que
hayamos modificado sus propiedades los visualizaremos con el
mtodo Show.
No se puede acceder a las variables declaradas en otro formulario, de
modo que si queremos trabajar con variables generales, las cuales
sean accesibles desde cualquier formulario de la aplicacin,
tendremos que declararlas como Pblicas desde un mdulo de
cdigo.
Para insertar un mdulo en nuestro proyecto de Visual Basic
tendremos que marcar en Insert / Module o pulsar sobre el botn
de la barra de herramientas. Nos aparecer una ventana en la que
nicamente podremos colocar las variables y procedimientos o
funciones que queramos que sean pblicas para toda la aplicacin.
En el siguiente ejemplo se declara la variable Gen_var de tipo
Integer que ser accesible desde cualquier formulario de la
aplicacin:

Ahora la ventana de proyecto tiene una lnea ms con un icono


distinto indicando que se trata de un mdulo de cdigo:

You might also like