La idea que tuve fue crear un arreglo de Strings en el que almacene las preguntas. Otro arreglo de varias filas y tres columnas de String que almacena las 3 alternativas correspondiente a cada pregunta. También un Arreglo de Enteros que almacene la respuesta correcta correspondiente a cada pregunta.
Mi problema surge a partir de ahora. En el formulario en el que van a ir apareciendo las preguntas he insertado etiquetas, y pensé que mediante la propiedad Caption iba a ir mostrando las preguntas correspondientes a cada pregunta. También mi programa tenía un cuadrito picture box que se ponía rojo si la pregunta era mala y verde si la pregunta era contestada correctamente.
Ahora, he usado una estructura repetitiva for de la siguiente manera:
Código
For i = 1 To 40 Pregunta.Caption = i '// Numero de pregunta Enunciado.Caption = Preg1(i) '// El enunciado de la pregunta Alter1.Caption = Resp1(i, 1) '// La alternativa 1, 2, 3 Alter2.Caption = Resp1(i, 2) Alter3.Caption = Resp1(i, 3) If Not (KeyCode >= 48 And KeyCode <= 51) Then '// solo debe reconocer 0, 1, 2, 3 KeyCode = 0 Else Respuesta = KeyCode - 48 If Respuesta = R1(i) Then Picture2(i).BackColor = vbGreen Else Picture2(i).BackColor = vbRed End If End If
Mi duda es que no sé en qué evento poner dicho código, pues lo intenté en Keypress y vi que no aparecieron las preguntas una por una sino todas al porrazo y me mandó directamente la pregunta 40. Lo que quisiera es que el programa por cada pregunta vaya esperando a que presione una tecla y luego recien comparar con la respuesta y pintar el cuadrito según sea correcto o incorrecto. Lo de pintar el cuadrito no es problema, solo quiero saber en qué evento debo poner el código.