CheckBox
Las situaciones en las que debemos elegir solo una alternativa de una lista de opciones no son las únicas posibles. De hecho, es bastante común el caso en que debamos seleccionar varias opciones de un grupo mayor. En estos casos, RadioButton y sus opciones mutuamente excluyentes son inútiles. Pero afortunadamente, existen los CheckBox. Desde el punto de vista del uso del control (colocación en el Form y configuración) no difiere demasiado del visto anteriormente. Sin embargo, cuando lo usamos, veremos que si tenemos una opción seleccionada y presionamos otra, la primera permanece en ese estado.
Abramos un nuevo proyecto en Visual Basic 2005 Express Edition, y arrastremos cinco controles CheckBox al formulario, más o menos como se ve en la figura 6.
Luego, desde el cuadro de propiedades, modifiquemos su propiedad "Text" para que aparezcan como "Rojo", "Verde", "Azul", "Blanco" y "Negro":
Si ejecutas ahora el proyecto, verás como tranquilamente puedes dejar todos sin marcar (RadioButton obligaba a tener siempre uno elegido), marcar uno solo como si fuese un RadioButton o bien elegir varios de ellos (¡o todos¡)
Un "truco" útil consiste en modificar el texto que aparece al lado de cada caja del CheckBox durante la misma ejecución del programa. Hay casos en los que las "preguntas" que debemos hacer al usuario dependen de alguna respuesta anterior (por ejemplo, si es hombre o mujer), y mediante la modificación de la propiedad "Text" del CheckBox se puede lograr cambiar la apariencia del Form. Para establecer valores en el código se hace, por ejemplo, así:
CheckBox1.Text = "¿Es usted mayor de edad?"
CheckBox2.Text = "¿Está casado?"
CheckBox3.Text = "¿Tiene hijos?"
CheckBox4.Text = "¿Estudió alguna carrera?"
CheckBox5.Text = "¿Tiene coche?"
Si este trozo de código lo escribimos dentro del evento Load del Form, cuando se abre la ventana que contiene nuestra aplicación el aspecto de los CheckBox será el de la figura 9, independientemente de los valores que hayamos elegido para cada "Text" en tiempo de diseño.
La propiedad Checked del CheckBox es la que cambia al seleccionar (o no) el control. Esta propiedad valdrá "1" (o verdadero) en caso de que el control este seleccionado, y "0" (o falso) en caso contrario. Mediante "If…Then" podemos tomar una decisión basada en el estado de cada CheckBox. Podemos agregar un Label (label1) y un Button (Button1) al Form, y escribir el código que mostramos a continuación para ver como programar respuestas al estado de cada CheckBox. En el ejemplo siguiente, si la persona es mayor de edad, está casada y tiene hijos, el Label1 mostrará el mensaje "¡Linda familia!":
If CheckBox1.Checked = True Then
If CheckBox2.Checked = True Then
If CheckBox3.Checked = True Then
Label1.Text = "¡Linda familia!"
End If
End If
End If
En tiempo de ejecución, nuestro Form se verá más o menos así:
Si seleccionamos los tres primeros CheckBox y luego hacemos clic en el botón, el texto del Label1 cambiará (Figura 11). Es importante destacar que el mensaje "¡Linda familia!" solo será visible cuando las tres opciones mencionadas estén seleccionadas, independientemente del estado de las otras dos, ya que no se han tenido en cuenta en el código mostrado.
Si hay algo en lo que Visual Basic se destaca, es en lo potente y compacto de su código. Solo hemos escrito una decena de líneas y tenemos controles que cambian su valor en tiempo de ejecución, comprobamos el estado de algunos de ellos al presionar un botón, y modificamos el texto de una etiqueta en función de lo que ha seleccionado el usuario. Esto hace que uno se sienta cómodo y pueda avanzar rápidamente en la comprensión del lenguaje.
La próxima entrega de este tutorial tratará sobre algunos de los controles restantes, y la forma en que podemos aprovechar todo su potencial a la hora de escribir nuestros programas. ¡Hasta entonces!
Capítulos anteriores:
Capítulo 1
Capítulo 2
Capítulo 3
Capítulo 4
Capítulo 5
Capítulo 6
Capítulo 7

Top 10: La evolución de Internet en España

Las escuelas del futuro