Está en la página 1de 13

Visual Basic .

NET : Windows Forms


Santiago Faci

Visual Basic .NET : Windows Forms

Introduccin

Un formulario Windows representa la conocida ventana utilizada en los Sistemas
Operativos de tipo Windows.
Por otra parte, un control es aquel elemento situado dentro de una ventana o
formulario y que permite al usuario de la aplicacin Windows interactuar con la misma,
para introducir datos o recuperar informacin.
Dentro de .NET, las ventanas clsicas Windows reciben la denominacin de
Windows Forms o WinForms.

System.Windows.Forms

Es el espacio de nombres que contiene todos los tipos del entorno, a travs de los
cuales podremos desarrollar aplicaciones compuestas por los formularios Windows, junto
a los correspondientes controles que permiten interactuar al usuario con la aplicacin
desarrollada.
El conjunto de clases, estructuras, enumeraciones, . . ., del espacio
System.Windows.Forms permiten la creacin de aplicaciones del tipo Windows.

La Clase Form

Es la clase que contiene todos los elementos necesarios para la creacin y
manipulacin de formularios (ventanas).
Tras instanciar un objeto de esta clase, dispondremos en nuestro programa de un
formulario o ventana que podremos configurar segn nuestras necesidades (Propiedades
del formulario), y el cual podr a su vez contener todo tipo de controles (cajas de texto,
botones, ListBox, . . .) de forma que permita la interactuacin necesaria con el usuario.

Creacin de una aplicacin Windows Form

La aplicacin Windows Form ms sencilla que se puede crear es la de un simple
1
Visual Basic .NET : Windows Forms
Santiago Faci
formulario. Para ello deberemos escoger la creacin de un Nuevo Proyecto y como tipo de
proyecto elegir Aplicacin para Windows. En ese momento, Visual Studio se encargar de
configurar el nuevo proyecto para que sea el inicio de una futura aplicacin de ventanas,
llegando a crear y visualizar el primero de los formularios de dicha aplicacin de forma
totalmente automtica.
Una vez creado el primer formulario, podremos configurarlo a travs de la ventana
Propiedades, la cual toma los valores del elemento que se encuentra seleccionado (en este
caso nuestro formulario).





Controles

Como ya se ha comentado anteriormente, los controles proporcionan el nico medio
por el cual un usuario puede interactuar con una aplicacin Windows Forms, con nuestro
formulario en este caso.

El Cuadro de Herramientas

El Cuadro de Herramientas es el componente de Visual Basic .NET a travs del cual
podremos crear e insertar todo tipo de controles en nuestra aplicacin de una forma rpida y
sencilla.

2
Visual Basic .NET : Windows Forms
Santiago Faci

Insertar un control

Para insertar un control, simplemente tendremos que escoger el tipo de control que
deseemos del Cuadro de Herramientas y elegir la posicin que deseamos que ocupe dentro
del formulario.



Propiedades de los controles

Todos los controles, de la misma forma que ocurre con los formularios, disponen de
multitud de parmetros configurables que permiten darle una forma o comportamiento
determinado y personalizado a cada uno de ellos. Todo eso se hace a travs de la ventana
Propiedades que nos informa acerca de esas propiedades para el control o formulario que
hayamos preseleccionado con el ratn. De esa manera podremos consultar y modificar las
3
Visual Basic .NET : Windows Forms
Santiago Faci
propiedades de cada uno de los controles para adaptarlos a nuestras necesidades.

Controles ms comunes

A continuacin, se van a comentar brevemente los controles ms habituales en
aplicaciones Windows Forms.

Button
Label
TextBox
ListBox
ComboBox
CheckBox
RadioButton
GroupBox

Button



Representa un botn. Las propiedades ms importantes de este control son las siguientes:

Text : Almacena el ttulo del botn.

TextAlign : Indica la alineacin del texto dentro del botn.

BackColor : Indica el color de fondo para el botn.

Font : Cambia el tipo de letra para el ttulo del botn.

Enabled : Permite habilitar/deshabilitar el botn.

Eventos sobre controles

Los eventos son sucesos provocados por los controles cuando un usuario acta sobre
ellos, y que pueden ser capturados para asociar cdigo a los mismos, de manera que cada
vez que se produzca una accin determinada del usuario (pulsar un botn) se producir un
evento (Click, en este caso) y el programador podr escribir cdigo asociado a ese evento.
Lo que se consigue es que cuando un usuario pulse sobre un botn se lleven a cabo una serie
de acciones en el programa (mostrar un texto en el caso ms sencillo).
4
Visual Basic .NET : Windows Forms
Santiago Faci
Ahora, se va a mostrar un ejemplo de implementacin de eventos sobre controles, en
concreto sobre un control de tipo Button.
Implementaremos un evento de manera que cuando pulsemos sobre un botn, ste
acte mostrandonos un mensaje de texto sobre la pantalla a travs del mtodo
MessageBox.Show().
Una forma sencilla de codificar el evento sobre un control es hacer doble click sobre
ese control desde la vista Diseo de Visual Studio. De esta manera, se nos implementa la
cabecera del evento ms comn de ese control. As, bastar simplemente con escribir el
cdigo que queramos que se ejecute cada vez que se produzca ese evento.
En el caso que se ha expuesto, quedara como sigue:

Pr i vat e Sub bot on_Cl i ck( ByVal sender As Syst em. Obj ect , ByVal e As
Syst em. Event Ar gs) Handl es bot on. Cl i ck

MessageBox. Show( Acabas de pul sar est e bot n)

End Sub

Eventos sobre formularios

Tambin es posible, asociar cdigo a eventos sobre formularios. Por ejemplo, al
evento que lanza un formulario cuando el usuario cierra el mismo. Este evento se llama
Closing y puede ser capturado y programado para realizar alguna accin, por ejemplo, la de
confirmar el cierre del formulario (o aplicacin):


Pr i vat e Sub For m1_Cl osi ng( ByVal sender As Obj ect , ByVal e As
Syst em. Component Model . Cancel Event Ar gs) Handl es MyBase. Cl osi ng

I f MessageBox. Show( Cer r ar l a vent ana?, At enci n,
MessageBoxBut t ons. YesNo, MessageBoxI con. Hand) =
Di al ogResul t . No Then
e. Cancel = Tr ue
End I f

End Sub

Label


Muestra un texto informativo al usuario. Su utilizacin puede ser conjunta con otro
5
Visual Basic .NET : Windows Forms
Santiago Faci
control. Por ejemplo, podremos colocar un Label cerca de una TextBox que informe acerca
del contenido de ste control.
Se trata de un control esttico por lo que el usuario no podr interactuar con l ya
que simplemente se limita a mostrar un determinado texto.

TextBox


Muestra una caja capaz de almacenar un texto introducido por el usuario y cuyo
contenido puede cambiar a lo largo del programa.
Las propiedades ms importantes de este control son las siguientes:

Text : Almacena el texto del control.

Multiline : Permite indicar si queremos permitir almacenar una sola lnea o varias en
el mismo control.

Enabled : Permite habilitar/deshabilitar la caja de texto.

ReadOnly : Permite indicar que el contenido de la caja de texto sea de slo lectura
por lo que el usuario no podr alterar su contenido.

MaxLength : Permite indicar el mximo de caracteres que ser capaz de almacenar
la caja de texto.

TextLength : Devuelve la longitud del texto que actualmente est almacenado en
este control.

Eventos sobre TextBox

Al igual que ocurria con el control de tipo Button o los formularios, tambin es
posible codificar eventos sobre un control de tipo TextBox. El evento ms importante de los
controles TextBox se llama TextChanged y tiene lugar cada vez que se altera el contenido
del control (el texto que ste contiene):
6
Visual Basic .NET : Windows Forms
Santiago Faci

Pr i vat e Sub caj aText o_Text Changed( ByVal sender As Obj ect , ByVal e As
Syst em. Event Ar gs) Handl es caj aText o. Text Changed)

' Cuando cambi e el t ext o, cambi ar su l ongi t ud
Me. l ongi t udText o. Text = Me. caj aText o. Text Lengt h

End Sub

Ejemplo : Controles Bsicos

Vamos a ver ahora una aplicacin muy sencilla con los controles vistos hasta ahora:
Button, Label y TextBox y los eventos ms importantes asociados a stos. Tambien se
mostrar un ejemplo del evento Closing asociado al cierre de un formulario:
El cdigo de la aplicacin es el siguiente:

Pr i vat e Sub bot on_Cl i ck( ByVal sender As Syst em. Obj ect , ByVal e As
Syst em. Event Ar gs) Handl es bot on. Cl i ck
MessageBox. Show( " Has escr i t o " & Me. caj aText o. Text )
End Sub

Pr i vat e Sub caj aText o_Text Changed( ByVal sender As Syst em. Obj ect , ByVal
e As Syst em. Event Ar gs) Handl es caj aText o. Text Changed
Me. l ongi t ud. Text = Me. caj aText o. Text Lengt h
End Sub

Pr i vat e Sub For m1_Cl osi ng( ByVal sender As Syst em. Obj ect , ByVal e As
Syst em. Component Model . Cancel Event Ar gs) Handl es MyBase. Cl osi ng
I f MessageBox. Show( " Cer r ar l a vent ana?" , " At enci n" ,
MessageBoxBut t ons. YesNo, MessageBoxI con. Hand) = Di al ogResul t . No Then
e. Cancel = Tr ue
End I f
End Sub

Y aqu podemos ver la apariencia de la aplicacin en funcionamiento


7
Visual Basic .NET : Windows Forms
Santiago Faci
CheckBox


Este control muestra una casilla de verificacin, que podemos marcar o no para
activar alguna opcin de nuestro programa.
Internamente este control funciona como un Boolean ya que su estado podr ser
Verdadero (ha sido seleccionado) o Falso (no est seleccionado).
Las propiedades ms importantes de este control son las siguientes:

Checked : Indica True o False dependiendo de si el control ha sido seleccionado o
no, respectivamente.

Ejemplo : CheckBox

Pr i vat e Sub But t on1_Cl i ck( ByVal sender As Syst em. Obj ect , ByVal e As
Syst em. Event Ar gs) Handl es But t on1. Cl i ck
Di maf i ci ones As St r i ng

I f Not checkCi ne. Checked And Not checkEst udi ar . Checked And Not
checkCl ase. Checked Then
MessageBox. Show( " No t i enes af i ci ones! " )
El se
I f checkCi ne. Checked Then
af i ci ones += " ci ne"
End I f

I f checkEst udi ar . Checked Then
af i ci ones += " est udi ar "
End I f

I f checkCl ase. Checked Then
af i ci ones += " i r a cl ase"
End I f

MessageBox. Show( " Tus af i ci ones son: " & af i ci ones)
End I f
End Sub


8
Visual Basic .NET : Windows Forms
Santiago Faci

RadioButton


Un control RadioButton permite definir conjuntos de opciones autoexcluyentes. Es
decir, se mostrar por ejemplo un grupo de 3 RadioButton de manera que slo se pueda
seleccionar uno de ellos e indique asi la opcin escogida por el usuario.
Para poder detectar cuando ha sido seleccionada la opcin de un determinado
RadioButton disponemos del evento CheckedChange, el cual podremos implementar
convenientemente de manera que cada vez que se pulse dicho RadioButton se ejecuten las
acciones que correspondan.
GroupBox



Este control permite agrupar controles en su interior de manera que, en cierta
manera, permanezcan aislados del resto de controles del formulario. Este control nos ser
til para crear ms de un grupo de RadioButton ya que sino los separasemos con un control
de este tipo se relacionaran entre ellos y representaran la misma opcin.
Ejemplo : RadioButton y GroupBox

Pr i vat e Sub But t on1_Cl i ck( ByVal sender As Syst em. Obj ect , ByVal e As
Syst em. Event Ar gs) Handl es But t on1. Cl i ck

Di medad, ci udad As St r i ng

I f Me. r adi o1. Checked Then
edad = " Ti enes menos de 18 aos"
El seI f Me. r adi o2. Checked Then
edad = " Ti enes de 18 a 65 aos"
El seI f Me. r adi o3. Checked Then
9
Visual Basic .NET : Windows Forms
Santiago Faci
edad = " Ti enes ms de 65 aos"
End I f

I f Me. r adi o4. Checked Then
ci udad = " Vi ves en Zar agoza"
El seI f Me. r adi o5. Checked Then
ci udad = " Vi ves en Bar cel ona"
El seI f Me. r adi o6. Checked Then
ci udad = " Vi ves en Madr i d"
End I f

MessageBox. Show( edad & " y " & ci udad)

End Sub



ListBox



Este control es capaz de almacenar una lista de valores, y a la vez permite al usuario
seleccionar uno o varios de estos valores. Las propiedades ms importantes de este control
son:

Items : Contiene la lista de valores que almacena el ListBox. Se trata de un objeto
Collection, el cual proporciona una serie de mtodos para poder trabajar sobre ese
conjunto de valores:

o Add(item) : Permite aadir un nuevo elemento a la lista.
10
Visual Basic .NET : Windows Forms
Santiago Faci

Sorted : Si almacena el valor True, se ordenarn todos los elementos de la lista
(tanto los que ya estaban almacenados como los que se inserten posteriormente) y se
le asigna el valor False ya no se ordenarn los nuevos elementos que se inserten
(aunque los que ya estaban insertados mantendrn el orden).

SelectedItem : Devuelve el elemento de la lista que se encuentra seleccionado por el
usuario.
Ejemplo : ListBox


Pr i vat e Sub bot onI nser t ar _Cl i ck( ByVal sender As Syst em. Obj ect , ByVal e
As Syst em. Event Ar gs) Handl es bot onI nser t ar . Cl i ck

I f Me. caj aText o. Text . Lengt h > 0 Then
Me. l i st a. I t ems. Add( Me. caj aText o. Text )
Me. caj aText o. Cl ear ( )
End I f

End Sub

Pr i vat e Sub check_CheckedChanged( ByVal sender As Syst em. Obj ect , ByVal
e As Syst em. Event Ar gs) Handl es check. CheckedChanged

I f Me. check. Checked Then
Me. l i st a. Sor t ed = Tr ue
El se
Me. l i st a. Sor t ed = Fal se
End I f

End Sub

Pr i vat e Sub bot onEl i mi nar _Cl i ck( ByVal sender As Syst em. Obj ect , ByVal e
As Syst em. Event Ar gs) Handl es bot onEl i mi nar . Cl i ck
Me. l i st a. I t ems. Remove( Me. l i st a. Sel ect edI t em)
End Sub

Pr i vat e Sub bot onLi mpi ar _Cl i ck( ByVal sender As Syst em. Obj ect , ByVal e
As Syst em. Event Ar gs) Handl es bot onLi mpi ar . Cl i ck
Me. l i st a. I t ems. Cl ear ( )
End Sub

Pr i vat e Sub checkI nser t ar _CheckedChanged( ByVal sender As
Syst em. Obj ect , ByVal e As Syst em. Event Ar gs) Handl es
checkI nser t ar . CheckedChanged

I f Me. checkI nser t ar . Checked Then
Me. caj aText o. Enabl ed = Fal se
Me. bot onEl i mi nar . Enabl ed = Fal se
Me. bot onI nser t ar . Enabl ed = Fal se
El se
11
Visual Basic .NET : Windows Forms
Santiago Faci
Me. caj aText o. Enabl ed = Tr ue
Me. bot onEl i mi nar . Enabl ed = Tr ue
Me. bot onI nser t ar . Enabl ed = Tr ue
End I f

End Sub


ComboBox



Se trata de un control mezcla de otros dos que ya hemos visto, el TextBox y el
ListBox, ya que realmente se trata de un ListBox pero con apariencia de TextBox en el
sentido de que es capaz de almacenar una lista de valores (ListBox) pero visualmente parece
ser un TextBox. A diferencia de este ltimo, si pulsamos sobre l desplegar la lista de los
valores que almacena.
Ejemplo : ComboBox

* Ver Ejemplo : ListBox

Mens

El men es un control muy utilizado en todo tipo de aplicaciones y tambin es
posible crear e implementar este tipo de controles en una aplicacin con Visual Basic .NET.
A continuacin se ver como disear un men muy sencillo con alguna funcionalidad tpica
de stos.
12
Visual Basic .NET : Windows Forms
Santiago Faci




Una vez diseado el men desde la vista Diseo de Visual Studio, cada uno de las
opciones de cada men se puede ver como un botn a la hora de programar ya que lo que
ms nos interesar ser codificar el evento Click de cada uno de ellos. Esto se har de forma
similar a como ocurra con los botones, haremos doble click en ellos y nos colocaremos
dentro del mtodo adecuado, slo nos faltar escribir el cdigo de lo que queremos que
ocurra al seleccionar esa opcin.
13

También podría gustarte