El proyecto de Visual Basic que trabajaremos en este período es una pequeña aplicación que le ayudará al usuario en el aprendizaje de las tablas de multiplicación.
Propuesta de GUI
GUI Proyecto Tablas. Vista en ejecución
No olvidar ubicar en el título del formulario el grado y nombre del autor.
Se le brindará al usuario la posibilidad de escoger entre 12 tablas de multiplicar. Para esto usaremos 12 RadioButton, los cuales son excluyentes (no permite múltiple selección). Cuando se escoja una tabla aparecerán los números correspondientes a la misma multiplicándose con los números del 1 al 12 y una casilla (TextBox) en blanco para que el usuario escriba la respuesta.correspondiente. Una vez se pulse el botón Evaluar, la aplicación le indica al usuario mediante la exhibición de un visto bueno de color verde o una X roja, si la operación fue bien respondida o no. A continuación se ve lo anteriormente dicho.
El programa debe además controlar que el usuario no deje respuestas vacías, mediante una caja de mensaje en la cual se le advierta de dicha situación y no le permita continuar con la ejecución.
El botón borrar cancela (limpia) los resultados escritos y oculta los vistos buenos y equis rojas que se hubieran mostrado.
IMPLEMENTACIÓN.
En las siguiente figura se muestran los elementos y algunos ejemplos de los nombres que les dimos.
Las imágenes del visto bueno y la equis roja están "una encima de la otra", es decir ocupan el mismo sitio, en cada línea de las operaciones planteadas. En la figura se muestra el picBienOnce sólo por ilustración. En el diseño la propiedad Visible de cada una de ellas se estableció en False, para que inicialmente no se vean.
¿Cómo lograr que cuando el usuario escoja una tabla de multiplicar se enuncien "automáticamente" las operaciones a realizar?
Aprovechamos el evento CheckedChanged de cada RadioButton, el cual podemos programar dando doble clic en tiempo de diseño y en cada uno de ellos escribiremos:
Private Sub radUno_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radUno.CheckedChanged
lblNumeroTablaPorUno.Text = "1"
lblNumeroTablaPorDos.Text = "1"
lblNumeroTablaPorTres.Text = "1"
lblNumeroTablaPorCuatro.Text = "1"
lblNumeroTablaPorCinco.Text = "1"
lblNumeroTablaPorSeis.Text = "1"
lblNumeroTablaPorSiete.Text = "1"
lblNumeroTablaPorOcho.Text = "1"
lblNumeroTablaPorNueve.Text = "1"
lblNumeroTablaPorDiez.Text = "1"
lblNumeroTablaPorOnce.Text = "1"
lblNumeroTablaPorDoce.Text = "1"
End Sub
Nota: las sentencias en color azul nos las suministra Visual Basic. No debemos escribirlas.
Básicamente lo que se está haciendo es cargar un número 1 en la propiedad text de cada label designada para guardar el número de la tabla escogida. Así entonces, para el caso del radDos el código es similar, tan sólo se debe cambiar el número 1 de cada sentencia por un número 2. Y así sucesivamente.
¿Cómo evitar que el usuario deje respuestas vacías y controlar si la respuesta está bien o mal?
Esto se controla en el botón Evaluar y para esto utilizamos su evento clic, el cual programamos dando doble clic sobre él en tiempo de diseño y allí escribiremos:
Private Sub btnEvaluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEvaluar.Click
Nota: la siguiente sentencia va en una sóla línea hasta la palabra Then....
If CInt(txtResultadoUno.Text = "") Or CInt(txtResultadoDos.Text = "") Or CInt(txtResultadoTres.Text = "") Or CInt(txtResultadoCuatro.Text = "") Or CInt(txtResultadoCinco.Text = "") Or CInt(txtResultadoSeis.Text = "") Or CInt(txtResultadoSiete.Text = "") Or CInt(txtResultadoOcho.Text = "") Or CInt(txtResultadoNueve.Text = "") Or CInt(txtResultadoDiez.Text = "") Or CInt(txtResultadoOnce.Text = "") Or CInt(txtResultadoDoce.Text = "") Then
MsgBox("No se deben dejar resultados vacíos", MsgBoxStyle.Critical, "Tablas")
Else
If txtResultadoUno.Text = 1 * CInt(lblNumeroTablaPorUno.Text) Then
picMalUno.Visible = False
picVBUno.Visible = True
Else
picMalUno.Visible = True
picVBUno.Visible = False
End If
DE ACÁ PARA ABAJO ESCRIBIR LAS
SENTENCIAS CORRESPONDIENTES
A LOS OTROS NÚMEROS, HACIENDO
LOS CAMBIOS RESPECTIVOS....
End If
Seguramente se nos presentarán problemas... Espero sus preguntas en el Colegio..






