Vous êtes sur la page 1sur 11

6.

1 Controles Estndar
Que son los controles?
Realmente son objetos que disponen de sus propias propiedades y mtodos, y cuya utilidad es la
de facilitarnos el desarrollo de nuestras aplicaciones. Bueno, este intento de definicin puede haber
quedado bien, pero para que lo tengamos ms claro, tener en cuenta que en cualquier aplicacin
con la que trabajamos estamos rodeados de controles. Quien no ha visto en multitud de programas
los botones ACEPTAR y CANCELAR, un cuadro para introducir texto, una lista con datos, etc.
Pues todos ellos son controles y no tendremos que preocuparnos por crearlos para nuestras
aplicaciones sino que ya vienen con el paquete de VB, lo nico que tendremos que hacer es
modificar sus propiedades: tamao, color, etc. para incorporarlos en nuestras aplicaciones y
asociarles el cdigo necesario para que se comporten como esperamos al ejecutar la aplicacin.
Antes de empezar a conocer los controles bsicos veamos cules son sus caractersticas
generales:
Propiedades: Todos los controles disponen de una serie de propiedades las cuales podemos
cambiar al incluirlos en nuestras aplicaciones. Ejemplos de propiedades son el color, el tipo de
letra, el nombre, el texto, etc
Mtodos: Son procedimientos asociados a los controles, es decir, rutinas ya establecidas que
podemos invocar desde nuestras aplicaciones para que se realice alguna operacin sobre el
control. Por ejemplo el control List View (la lista de archivos que aparece en el explorador de
Windows) dispone del mtodo order que te ordena los datos aparecidos en la lista.
Eventos: Son acciones que pueden ser motivadas por el propio usuario o por mismo sistema
operativo. Ejemplos pueden ser el movimiento del ratn o hacer click sobre su botn. En Visual
Basic digamos que se utiliza la programacin orientada a eventos, lo cual es una de las diferencias
ms importantes respecto a la programacin lineal de MS DOS. No necesitamos detectar cuando
se ha producido un evento determinado, Windows lo detecta automticamente. Los eventos ya
estn definidos, son bastantes y cada control cuenta con los suyos propios, aunque son muy
parecidos. Lo nico que tendremos que hacer es asociar el cdigo necesario al evento que
necesitemos tratar.

6.2. Eventos y Propiedades del Formulario


El formulario es el primer objeto o control que se visualiza en Visual Basic y constituye la pantalla o
ventana sobre la que se colocan otros objetos o controles como etiquetas, controles de texto,
botones, etc. y por supuesto el cdigo necesario de nuestros programas, por lo tanto constituirn la
Interfaz de usuario.
Propiedades mas utilizadas de un form
Name: En todo control la primera propiedad que debe establecerse es el nombre del objeto, es
recomendable que en el caso del formulario las tres primeras letras sean Frm, precisamente para
saber que se trata de un formulario, y luego seguida del nombre que se le quiere asignar, no
admite espacios.
BackColor: Permite cambiar el color del fondo del formulario.
BackgroundImage: Establece una imagen como fondo del formulario.
BackgroundImageLayout: Diseo de la imagen de fondo: None, Tile, Center, Stretch, Zoom.
ControlBox: Determina si la ventana tiene o no botones de control.
Cursor: Cursor que aparecer al pasar el puntero por el formulario, se visualizar slo en tiempo
de ejecucin (f5).
FormBorderStyle: Establece el estilo del borde del formulario.
Icon: Indica el cono del formulario es decir aquel que va en la barra de ttulo, se visualizar
tambin en la barra de tareas de windows cuando el formulario se minimiza.
MaximizeBox: Permite que el botn de maximizar que se encuentra en los botones de control se
encuentre habilitado o no (se puede utilizar o no).
MinimizeBox: Permite que el botn de minimizar que se encuentra en los botones de control se
encuentren habilitado o no.
ShowIcon: Indica si un cono se muestra o no en la barra de ttulo del formulario.
ShowInTaskbar: Determina si el formulario aparece en la barra de tareas de windows.

Text: Representa el texto que se visualizar en la barra de ttulo.


WindowState: Determina el estado visual inicial del formulario: Normal, Maximized, Minimized.
Startposition: Donde se abrir la ventana, si seleccionamos manual, en location tendramos que
meter las coordenadas en pxeles, sino, podremos seleccionar otras opciones como por ejemplo,
que se abra en el centro de la pantalla.
Enabled: Con esta propiedad podremos bloquear el formulario, deshabilitarlo o no en funcin de
nuestras necesidades.
Locked: No permite la redimensin del formulario, pero esta opcin slo es para desarrollo, en
ejecucin no funciona.
Showinstaskbar: Para cuando se abra, decidir segn su valor (true o false) si aparecer en la
barra de tareas de windows o no, si se miniminza y est a false, el programa quedar encima del
botn de inicio.
Font: Nos permite definir el tipo de letra, tamao.
Topmost: Un formulario nos puede llevar a otro, esta propiedad, si est a true indica que un
formulario se superpondr a los dems.
Size: Tamao en pixeles del formulario.
Maxnumsize, minnumsize: tamaos mximo y mnimo que podr tener nuestro formulario.
eventos de un form
Un evento en C# es el modo que tiene una clase de proporcionar notificaciones a los clientes de la
clase cuando ocurre algo digno de resear en un objeto. El uso ms habitual para los eventos se
produce en las interfaces grficas; normalmente, las clases que representan controles de la interfaz
disponen de eventos que se notifican cuando el usuario hace algo con el control (por ejemplo,
hacer clic en un botn).
Eventos principales
Activated: se produce cuando el formulario se activa por cdigo de programa o por parte del
usuario. Para activar un formulario en tiempo de ejecucin usando cdigo, llame al
mtodo Activate. Este evento se puede usar para tareas tales como la actualizacin del contenido

del formulario tomando como base los cambios efectuados en sus datos cuando no estaba
activado.
AutoSizeChanged: este evento se produce cuando cambia la propiedad AutoSize.
AutoValidaChanged se produce cuando cambia la propiedad AutoValidate.
BackColorChanged este evento se provoca si la propiedad BackColor se modifica mediante
programacin o interaccin del usuario.
BackGroundChanged este evento se provoca si la propiedad BackgroundImage se modifica
mediante programacin o interaccin del usuario.
Click El evento Click pasa un EventArgs a su controlador de eventos, por lo que slo indica que se
ha producido un clic. Si necesita informacin del mouse ms especfica (botn, nmero de clics,
rotacin de la rueda o ubicacin), utilice el evento MouseClick. Sin embargo, no se producir el
evento MouseClick si el clic se produce por una accin distinta de la del mouse, como presionar la
tecla ENTRAR.
MouseMove este evento indica que cuando pase el puntero del mouse por el formulario se
ejecutar lo que este codificado en l.
FormClosing este evento se ejecutar cuando se cierre la ventana. Por ejemplo si queremos
visualizar un mensaje de agradecimiento cuando se cierre la ventana.
ContexMenuChanged este evento se provoca si la propiedad ContextMenu se modifica mediante
programacin o interaccin del usuario.
CursorChanged este

evento

se

provoca

si

la

propiedad Cursor se

modifica

mediante

programacin o interaccin del usuario.


Deactivate se produce cuando el formulario pierde el foco y deja de ser el formulario activo, este
evento se puede usar para realizar tareas tales como la actualizacin de otra ventana de la
aplicacin con los datos del formulario que se ha desactivado.
DoubleClick se produce cuando se hace doble clic en el control, un doble clic viene determinado
por la configuracin del mouse en el sistema operativo del usuario. El usuario puede establecer el
tiempo entre los clics de un botn del mouse que debe considerarse como un doble clic y no como
dos clics.

Load se produce antes de que se muestre un formulario por primera vez, este evento se puede
usar para realizar tareas tales como la asignacin de los recursos que utiliza el formulario.
MenStart este evento se provoca cuando el usuario hace clic en cualquier elemento del
men. Este evento se puede usar para realizar tareas tales como la habilitacin y deshabilitacin
de los controles del formulario a los que el usuario no debe tener acceso cuando se est teniendo
acceso a los mens.
MouseDoubleClick el evento MouseDoubleClick se produce cuando el usuario presiona dos veces
un botn del mouse en rpida sucesin cuando el cursor est sobre el control. La configuracin del
mouse del sistema operativo del usuario determina el intervalo de tiempo que separa dos clics
nicos de un doble clic.
TextChanged este evento se provoca si la propiedad Text se modifica mediante programacin o
interaccin del usuario.
Shown el evento Shown slo se produce la primera vez que se muestra un formulario; este evento
no se genera al minimizarlo, maximizarlo, restaurarlo, ocultarlo, mostrarlo, o invalidarlo y dibujarlo
de nuevo. Para obtener ms informacin sobre el orden de eventos de un formulario, vea Orden de
eventos en los formularios Windows Forms
Layout el evento Layout se produce cuando se agregan o se quitan controles secundarios, cuando
los lmites del control cambian o cuando se producen otros cambios que pueden afectar al diseo
del

control. El

evento

de

diseo

puede

suprimirse

mediante

los

mtodos SuspendLayout y ResumeLayout. La suspensin del diseo le permite realizar varias


acciones en un control sin tener que realizar un diseo para cada cambio. Por ejemplo, si se
cambia el tamao de un control y se mueve dicho control, cada operacin provocar un
evento Layout.
DragEnter el evento DragEnter se provoca la primera vez que el usuario arrastra el cursor del
mouse sobre el control durante una operacin de arrastrar y colocar.
MenuComplete este evento se provoca cuando se hace clic en cualquier elemento de un men
que hace que se ejecute un comando y el men pierda el foco. Este evento se puede usar para
realizar tareas tales como la actualizacin del texto de un control StatusBar o la habilitacin y
deshabilitacin de los botones de una ToolBar.
Scroll este evento se provoca cuando se hace clic en cualquier elemento de un men que hace
que se ejecute un comando y el men pierda el foco. Este evento se puede usar para realizar

tareas tales como la actualizacin del texto de un control StatusBar o la habilitacin y


deshabilitacin de los botones de una ToolBar.

6.3. Tipos de formulario


El formulario es el primer objeto o control que se visualiza en Visual Basic y constituye la pantalla o
ventana sobre la que se colocan otros objetos o controles como etiquetas, controles de texto,
botones, etc. y por supuesto el cdigo necesario de nuestros programas, por lo tanto constituirn la
Interfaz de usuario.
Formulario MDI (Padre)
Cuando se habla de una Interfaz de Documento Mltiple (MDI), se hace referencia a una aplicacin
que tendr entre sus formularios uno que actuar como principal, el cual encerrar los dems
formularios que formarn parte de la aplicacin, en donde al resto de los formularios que se
carguen en el formulario principal se le denomina formularios hijos.
Como crear un formulario padre
1. Crear un proyecto de aplicacin para Windows.
2. En la ventana Propiedades, establezca la propiedad IsMDIContainer en true.
3. Arrastre un componente MainMenu del Cuadro de herramientas al formulario. Cree un
elemento de men de nivel superior con la propiedad Text establecida en &Archivo, con
elementos de submen denominados &Nuevo y &Cerrar. Cree tambin un elemento de
men de nivel superior denominado &Ventana.
4. El primer men crear y ocultar los elementos de men en tiempo de ejecucin, mientras
que el segundo se encargar del seguimiento de las ventanas MDI secundarias
abiertas. Llegado este punto, ha creado una ventana MDI primaria.
5. Presione F5 para ejecutar la aplicacin.
Formulario MDI (Secundario)
Los formularios MDI secundarios son un elemento esencial de Aplicaciones de interfaz de mltiples
documentos (MDI), cuando estos formularios son el centro de interaccin del usuario.

Como crear un formulario MDI (Secundario)


1. Cree un formulario primario MDI con una estructura de mens que contenga los elementos
de men Archivo y Ventana de nivel superior y los elementos de men Nuevo y Cerrar.
2. En la lista desplegable que se encuentra en la parte superior de la ventana Propiedades,
seleccione el elemento de men correspondiente al elemento Ventana y establezca el valor
de la propiedad MdiList en true.
3. En el Explorador de soluciones, haga clic con el botn secundario en el proyecto, haga clic
en Agregar y seleccione Agregar nuevo elemento.
4. En el cuadro de dilogo Agregar nuevo elemento, seleccione Windows Form (en Visual
Basic o Visual C#) o Aplicacin de Windows Forms (.NET) (en Visual C++) desde el
panel Plantillas. En el cuadro Nombre, asigne al formulario el nombre Form2. Haga clic en
el botn Abrir para agregar el formulario al proyecto.
5. En el Cuadro de herramientas, arrastre un control RichTextBox al formulario.
6. En

la

ventana Propiedades,

establezca

la

propiedad Anchor en Top,

Left y

la

propiedad Dock en Fill.


7. Cree un controlador de eventos Click para el elemento de men Nuevo.
8. Inserte el cdigo siguiente para crear un nuevo formulario MDI secundario cuando el
usuario haga clic en el elemento de men Nuevo.
9. Presione F5 para ejecutar la aplicacin.

6.4 Control de eventos


Los eventos son acciones o sucesos que todos los objetos reconocen, a los cuales les puedes
codificar algn cdigo; por ejemplo, cuando se hace clic sobre un botn, o cuando se presiona una
tecla en especfico, y as sucesivamente. Cuestin de lgica nada ms.

Y cuando estamos desarrollando un


programa en Visual Basic, debemos disear
nuestro aspecto visual del mismo con los
objetos, posteriormente establecer los
distintos eventos para cada objeto, y por
ltimo
slo
escribir
los
cdigos
correspondientes a cada accin.
Eventos y control de eventos para usuarios
de Visual Basic 6.0
Si est familiarizado con los eventos y el
control de eventos de Visual Basic 6.0, a
primera vista, el modelo de eventos de
Visual Basic 2008 puede parecerle confuso,
pero a la larga resulta mucho ms sencillo y
eficaz.
Diferencias conceptuales
En Visual Basic 6.0, los eventos estn ligados a objetos especficos y tienen su cdigo de control
de eventos. Por ejemplo, en un formulario con un botn y un men, cada uno tiene su evento Click;
hay que escribir cdigo para cada uno en el controlador de eventos, aunque los dos realicen la
misma funcin.
' Visual Basic 6.0
Private Sub HelpButton_Click()
HelpButton.Caption = "Help me!"
End Sub
Private Sub HelpMenu_Click()
HelpMenu.Caption = "Help me!"
End Sub
En Visual Basic 2008, los eventos estn ligados a controladores de eventos mediante delegados, lo
que permite crear un nico controlador de eventos para varios objetos.
VB
Private Sub HelpButton_Click(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles HelpButton.Click, HelpMenu.Click
sender.Text = "Help me!"
End Sub
En el ejemplo anterior, observe que la declaracin del evento tiene una clusula Handles que
define los eventos que se van a controlar (en este caso, se trata de eventos Click en los dos
objetos HelpButton y HelpMenu). Los objetos y eventos no tienen que ser del mismo tipo; por
ejemplo, puede tener un controlador de eventos simple que controle el evento Click de un botn, el
evento DoubleClick de un cuadro de texto y el evento Tick de un temporizador.
Observe tambin que la declaracin del evento contiene dos parmetros: ByVal sender As Object y
ByVal e As System.EventArgs. El primer parmetro, sender, proporciona una referencia al objeto
que desencaden el evento. El segundo parmetro, e, transfiere un objeto especfico al evento que

se est controlando. Al hacer referencia a las propiedades del objeto (y, a veces, a sus mtodos),
puede obtener informacin tal como la posicin del mouse para los eventos del mouse o los datos
que se estn transfiriendo en los eventos de arrastrar y colocar.
En el ejemplo siguiente, el controlador de eventos MouseDown utiliza el parmetro sender para
determinar el tipo de objeto que gener el evento, y si el objeto es un a PictureBox, el parmetro e
se utiliza para desplazar una etiqueta a la ubicacin en la que se produjo el clic. Para duplicar este
ejemplo, agregue dos controles PictureBox y un control Label a un formulario.
VB
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown, _
PictureBox1.MouseDown, PictureBox2.MouseDown
If TypeOf sender Is PictureBox Then
Label1.Location = sender.Location + e.Location
Else
MsgBox("Please click a picture")
End If
End Sub
Habitualmente, cada evento produce un controlador de eventos con un tipo de objeto de evento
diferente para el segundo parmetro. Algunos controladores de eventos, como los de los eventos
MouseDown y MouseUp, tienen el mismo tipo de objeto, MouseEventArgs, para el segundo
parmetro. Para estos tipos de eventos, se puede utilizar el mismo controlador de eventos para
controlar ambos eventos.
Para los eventos que transfieren tipos de objetos de eventos diferentes, deben crearse
controladores de eventos independientes. Por ejemplo, el evento TextChanged de un control
TextBox transfiere el objeto de evento genrico EventArgs, mientras que el evento MouseDown
transfiere el objeto de evento MouseEventArgs, que es ms especializado. El objeto
MouseEventArgs contiene propiedades que son especficas de los eventos del mouse, como
Button, que determina qu botn del mouse se ha presionado; estas propiedades no se aplican a
un control TextBox y podra producirse un error si se intenta establecer referencias a ellas.
Adems de las diferencias conceptuales en el control de eventos, los nombres y el comportamiento
de algunos eventos para varios objetos son diferentes en Visual Basic 2008. Para obtener ms
informacin, vea Controles de formularios Windows Forms para usuarios de Visual Basic 6.0.

6.5 Cajas de Dialogo


Que es una caja de dialogo y para que sirve?
En lo que se refiere a interfaces grficas, las cajas de dilogo o cuadros de dilogo son ventanas
especiales utilizadas para mostrar informacin al usuario o el de conseguir una respuesta si se
est necesitando. Son las cajas que hasta que no se cierran no dejan continuar con la aplicacin.

Las aplicaciones independientes tienen normalmente una ventana principal, que tanto muestra los
datos principales sobre los que funciona la aplicacin como expone la funcionalidad de
procesamiento de datos a travs de mecanismos de interfaz de usuario (UI) tales como barras de
mens, barras de herramientas y barras de estado. Una aplicacin no trivial tambin puede mostrar
ventanas adicionales para hacer lo siguiente:

Mostrar informacin especfica a los usuarios

Recopilar informacin de los usuarios.

Tanto mostrar como recopilar informacin.

Estos tipos de ventanas se conocen como cuadros de dilogo y hay dos tipos: modales y no
modales.
Cuadros de dialogo modales:
Nos muestras las funciones cuando necesitan datos adicionales de los usuarios para
continuar. Dado que la funcin depende del cuadro de dilogo modal para recopilar los datos, el
cuadro de dilogo modal tambin impide que un usuario active otras ventanas de la aplicacin
mientras permanece abierto. En la mayora de los casos, los cuadros de dilogo modales permiten
a los usuarios sealar que han terminado con el cuadro de dilogo modal presionando un
botn Aceptar o Cancelar. Al presionar el botn Aceptarse indica que el usuario ha introducido los
datos

desea

que

la

funcin

contine

su

proceso

con

esos

datos. Presionar

el

botn Cancelar indica que el usuario desea detener la ejecucin de la funcin. Los ejemplos ms
comunes de cuadros de dilogo modales se muestran para abrir, guardar e imprimir datos.
Cuadros de dialogo no modales:
Estos no impiden que el usuario active otras ventanas mientras est abierto. Por ejemplo, si un
usuario desea buscar apariciones de una palabra determinada en un documento, una ventana
principal abrir habitualmente un cuadro de dilogo para preguntar al usuario qu palabra est
buscando. Dado que la bsqueda de una palabra no impide que un usuario edite el documento, no
obstante, no es necesario que el cuadro de dilogo sea modal. Un cuadro de dilogo no modal
proporciona al menos un botnCerrar para cerrar el cuadro de dilogo y puede proporcionar
botones adicionales para ejecutar funciones concretas, como un botn Buscar siguiente para
buscar la palabra siguiente que coincida con los criterios de una bsqueda de palabra.

Windows Presentation Foundation (WPF) permite crear varios tipos de cuadros de dilogo,
incluidos

cuadros

de

mensaje,

cuadros

de

dilogo

comunes

cuadros

de

dilogo

personalizados. Este tema explica cada uno de ellos y Dialog Box Sample proporciona ejemplos
relacionados.
Un ejemplo comn de cuadro de dialogo no
modal:

Vous aimerez peut-être aussi