Seguimos con el tutorial que nos enseñará a programar en Visual Basic. Utilizando la versión gratuita Visual Studio Express 2005 como plataforma, en esta entrega nos ocuparemos de los formularios y los controles más comunes que podemos emplear en nuestras aplicaciones. También veremos cuáles son sus propiedades más útiles y cómo cambiarlas.

Programar con Visual Basic (II)
Ventana con las propiedades de Form1.

Resulta bastante complicado elegir un orden determinado al intentar explicar una herramienta como Visual Studio Express 2005. Nosotros vamos a seguir un camino poco ortodoxo, tomando atajos y tratando temas bastante distintos entre sí, pero que nos permitirán crear pequeñas aplicaciones desde el primer día.

Como habíamos mencionado, el “marco” encargado de contener a nuestra aplicación será el “formulario”. Cuando arrancamos el Visual Studio y elegimos crear una aplicación para Windows, automáticamente el IDE nos proporciona un formulario con el nombre “Form1”. Este formulario tiene una serie de propiedades que pueden modificarse fácilmente: basta con editar el valor que aparece a la derecha de su nombre.

Asumimos que el lector tiene a disposición la ayuda que brinda MSDN Library, que se instala junto a Visual Studio Express, para consultar los detalles de cada propiedad. Solo explicaremos las que vayan siendo necesarias para entender los ejemplos que vayamos planteando.

Formularios y propiedades

Una de las propiedades que primero cambiamos de un formulario es “Text”. El texto que contiene este campo es el que aparecerá como título de nuestra ventana. En la figura siguiente puede verse cómo hemos hecho que nuestro formulario lleve como título la frase “NeoTeo – Visual Basic”:

Programar con Visual Basic (II)
Hemos cambiado el título de nuestro formulario.

En Visual Basic también pueden cambiarse el valor de estas propiedades mediante órdenes incluidas en el programa. Por ejemplo, podemos utilizar

Me.Text = "NeoTeo - Visual Basic"

para lograr el mismo resultado. “Me” es el formulario actual, en este caso representa a Form1. Siempre que el código que escribimos esté dentro del mismo formulario, nos referimos a él como “Me”. Luego del “.” viene el nombre de la propiedad que queremos cambiar, en este caso “Text”. Y por último, después del igual y entre comillas (por ser una cadena de texto), “NeoTeo – Visual Basic”, que es el título que queremos para nuestra ventana. El resultado puede verse a continuación:

Programar con Visual Basic (II)
Hemos ingresado código VB.

La forma de escribir el código es muy fácil: basta con hacer un clic en la solapa que lleva el nombre del formulario (en este caso “Form1.vb”). El IDE automáticamente escribe por nosotros los encabezados de los procedimientos, por lo que solo escribimos nuestro código.

Programar con Visual Basic (II)
Desde aquí accedemos al código de los controles.

Algunas propiedades solo aceptan valores de verdadero o falso. En esos casos, al hacer clic a la derecha del nombre de la propiedad, se abre un menú con ambas alternativas. Por ejemplo “Locked”, que indica si nuestro formulario podrá o no ser cambiado de tamaño mediante el procedimiento normal de arrastrar con el ratón sus bordes, puede ser configurado como “True” (Verdadero) o “False”:

Programar con Visual Basic (II)
Desde aquí elegimos el valor deseado.

Otra propiedad que posiblemente quieras cambiar es “Icon”. Si haces clic sobre ella, se abrirá un cuadro de diálogo que te permite elegir el archivo “.ICO” que desees sea el icono que se muestre en la esquina superior de la ventana:

Programar con Visual Basic (II)
Este cuadro de diálogo permite seleccionar el icono del Form1.

Al igual que muchas otras características, el tamaño del formulario también puede ser cambiado mediante la modificación de sus propiedades. Y esto puede hacerse desde el código. Bastará con agregar

Me.Size.Width = ancho deseado (en píxeles)

O

Me.Size.Height = altura deseada (en píxeles)

donde lo necesitemos. Esto es muy útil, ya que nos proporciona un mecanismo dinámico para el cambio de los atributos del formulario en tiempo de ejecución. Puedes probar agregando

Me.Size.Width = 480

(donde 480 es el ancho deseado) y ver qué ocurre al correr el programa. Si deseas conocer todos los atributos que puedes modificar de los formularios (¡son muchos!) dale un vistazo a la ayuda. Ahora veremos algunos de los controles disponibles.

Controles

Una de las primeras impresiones que se tiene al entrar al IDE de Visual Studio Express 2005 es que hay controles que no utilizaremos nunca. Sin embargo, con el tiempo vamos viendo que todos son útiles en algún momento, y afortunadamente Microsoft los ha puesto a disposición.

Los controles simplemente se arrastran con el ratón desde la paleta que está a la izquierda de la pantalla hasta el formulario. Vamos a probar cómo hacerlo. Intenta arrastrar 3 botones (Button), una etiqueta (Label), 3 casillas (CheckBoxes) y un cuadro de texto (TextBox). No importa demasiado (por ahora) su posición sobre el formulario, aunque si pones un poco de cuidado, podrás colocarlos tal como se ven en la imagen:

Programar con Visual Basic (II)
Agregamos los controles al Form1.

Una vez hecho esto, vamos a cambiarles a todos estos controles el texto que muestran. Los vamos seleccionando de a uno, utilizando el ratón, y modificamos en la ventana “propiedades” el valor de la propiedad “Text”. Toma tu tiempo, y haz que tus controles queden tal como se ve aquí:

Programar con Visual Basic (II)
Los controles han sido modificados.

¿Fácil, verdad? Bien, hemos cambiado el nombre que muestran, aunque los controles todavía tienen nombres tan poco amigables como “Button1” o “CheckBox3”. Por ahora los dejaremos así, pero es bueno que sepas que el nombre también es una propiedad que se puede cambiar. Si bien no hace al aspecto de nuestro programa, el uso de nombres descriptivos para los controles que usamos en nuestra aplicación hará más fácil la confección del programa.

Vamos a ver cómo hacer para que los controles que hemos agregado ejecuten alguna tarea cuando el usuario interactúa con ellos. La forma de hacer esto es, simplemente, escribir el código necesario en el evento deseado. Como siempre, un ejemplo puede resultar mucho más simple de entender. Hagamos que cuando presionamos el tercer botón (el que tiene el texto “Salir”) el programa termine. En BASIC, la instrucción que finaliza la ejecución de un programa es “End”. Para escribir esta instrucción en el evento “Click” del Button3 simplemente le damos doble clic, y el IDE nos posicionará en el lugar correcto. Una vez editado, este debería ser el aspecto del código:

Programar con Visual Basic (II)
Hay que escribir el código necesario en el evento deseado.

La flecha indica el lugar donde debemos escribir “End”. Como ves, el entorno del Visual Basic ha escrito el encabezado del procedimiento por sí solo. Una vez hecho esto, veremos que si corremos el programa, al hacer “clic” sobre el botón “Salir”, el programa termina. Los demás, al no tener código asociado, no efectúan ninguna tarea.

Tenemos dos botones más para “programar”. Aprovechemos para ver cómo las acciones que se llevan a cabo sobre un control pueden influir en otro. Vamos a darle doble clic al botón “Escribir” para acceder a su evento “clic”, y escribir allí el código necesario para que el TextBox1 (el pequeño cuadro de texto de la parte superior del formulario) muestre el texto “Hola mundo!” cuando lo presionamos. El código debería quedar así:

Programar con Visual Basic (II)
Volvemos a agregar código.

Si ejecutamos el programa, veremos que el cuadro de texto aparece vacío. Al hacer clic sobre “Escribir”, su contenido cambia a “Hola mundo!”. Lo que hemos hecho ha sido modificar el evento “click” del Button1 para que modifique la propiedad “Text” del control TextBox1. Resulta bastante más difícil describir el proceso que llevarlo a cabo.

El contenido del TextBox1 puede ser modificado utilizando el ratón y el teclado, editando o copiando su contenido. Pero también podríamos modificarlo mediante código.

De la misma manera que programamos el comportamiento del primer botón, podemos modificar el segundo para que al presionarlo limpie el contenido del cuadro de texto. Los pasos son los mismos, pero la cadena asignada a TextBox1.Text debe estar vacía:

Programar con Visual Basic (II)
La cadena asignada a TextBox1.Text debe estar vacía.

¡Listo! Ahora podemos escribir con un botón, borrar con el otro, y salir con el tercero. Y lo mejor de todo es que hemos escrito muy poco código para lograrlo.

CheckBoxes

Con todo lo visto hasta aquí, no debería resultarnos muy difícil hacer que, si el usuario marca alguna de las casillas del formulario, se modifique el contenido del cuadro de texto. En realidad, el procedimiento es el mismo que hemos empleado para modificar el comportamiento de los dos primeros botones: le damos doble clic al CheckBox que queremos editar, y escribimos el código necesario. Por ejemplo, en la figura siguiente vemos cómo hacer para que al marcar el CheckBox1 el TextBox1 muestre la palabra “Rojo”:

Programar con Visual Basic (II)
Escribimos el código necesario.

Si ejecutamos el programa y efectivamente seleccionamos “Rojo”, el resultado será el siguiente:

Programar con Visual Basic (II)
Todo parece funcionar correctamente.

Ya puedes modificar por ti mismo los otros tres para que escriban “Verde”, “Amarillo” y “Azul”. También puedes comprobar que el botón “Borrar” sigue borrando el contenido del TextBox1, y que el botón “Escribir” escribe “Hola mundo!” independientemente del contenido del cuadro de texto. El código completo debería verse así:

Programar con Visual Basic (II)
Modificamos los otros tres controles.

Por supuesto, el programa tiene un defecto: El TextBox1 escribe lo que le pedimos al hacer clic, independientemente de que estemos marcando o desmarcando el CheckBox correspondiente. Por supuesto, no es un problema de Visual Basic (que hace exactamente lo que le hemos indicado), sino de nuestro código, que no tiene en cuenta esta situación.

En entregas siguientes, cuando conozcamos las instrucciones necesarias para la toma de decisiones, veremos cómo podemos mejorar nuestro pequeño programa de ejemplo.

Por hoy hemos terminado. Sería interesante que, mientras preparamos la próxima entrega, realices muchas pruebas con los controles que hemos visto, y si te surgen inquietudes, las plantees como comentarios en este artículo. Prometemos responder a todas las consultas.

Programar con Visual Basic (II)
Programar con Visual Basic (II)