Cada pregunta en un examen de opción múltiple consiste en una pregunta en sí misma y diferentes respuestas , las cuales sólo una es correcta . Puede crear una prueba de opción múltiple en las etiquetas que utilizan Visual Basic para mostrar las preguntas , botones de radio para las posibles respuestas y los controles de botón para navegar entre las diferentes preguntas. En el código , utilice las matrices para guardar las preguntas y respuestas que el usuario envía y mantener una variable de contador para realizar un seguimiento de lo que la pregunta que el usuario está conectado. Al final de la prueba , marcar las respuestas del usuario y mostrar el resultado en el formulario. Instrucciones
1
Abra un nuevo proyecto de Visual Basic . Agregue dos etiquetas, tres botones de radio y dos controles Button al formulario . Arrastre las dos etiquetas en la parte superior con Label1 en la parte superior de Label2 . Arrastre RadioButton1 , RadioButton2 y RadioButton3 para alinear verticalmente debajo de las etiquetas. Arrastre los dos botones debajo de los botones de selección de Button1 a la izquierda y Button2 a la derecha.
2
Press " F7 " para abrir la ventana de código . Escriba el siguiente código en el nivel de clase :
preguntas Dim
( 2 , 4 ) As String Dim
respuestas ( 2 ) As String
quesNum As Integer
La primera línea crea una matriz de dos dimensiones. La primera dimensión es para cada pregunta y la segunda dimensión es la pregunta misma , tres opciones de respuesta y la respuesta correcta . La segunda línea crea una matriz para almacenar las respuestas del usuario . La tercera línea crea una variable de contador que realiza un seguimiento de la cuestión de que el usuario está en
3
Escriba el siguiente código: .
Private Sub GetQuestions ()
preguntas
= new String (,) { {" ¿Cuántos colores hay en un arco iris? ", " 5 ", " 6 ", " 7 ", " 7 "}, { _
"¿Quién protagonista de Piratas del Caribe? "," Johnny Depp "," John Malkovich "," John Cusack "," Johnny Depp "}, { _
" ¿Cuál es la capital de Florida? " , " Miami "," Tallahassee "," Jacksonville "," Tallahassee "} }
End Sub
Esta subrutina simplemente inicializa las tres preguntas y respuestas de la matriz de preguntas. Usted puede añadir preguntas adicionales u obtener de otras maneras , como por ejemplo a través de un archivo de texto, pero si lo hace , no olvide cambiar el tamaño de la pregunta y la respuesta arreglos para acomodar el número de preguntas.
4 < p > Escriba el siguiente código: Private Sub
Marktest ()
grado Dim As Integer = 0
For i = 0 a 2
Si las respuestas ( i ) = preguntas ( i, 4 ) Luego categoría del tour
+ = 1
End If
Siguiente
Label1.Text = Test " terminado ! "
Label2.Text =" Usted marcó " y de grado y " fuera de " y answers.Length &" ! "
RadioButton1.Enabled = False
RadioButton2.Enabled = False
RadioButton3.Enabled = False
Button1.Enabled = False
Button2.Enabled = False End Sub
primera línea declara una subrutina que marca la prueba. Se crea una variable local para contar el puntaje , entonces los ciclos a través de las respuestas de la matriz de las preguntas y las respuestas presentadas por el usuario. Para cada respuesta que coincida , la calificación se incrementa en uno . A continuación, muestra la puntuación en las etiquetas y desactiva el resto de los controles
5
Abra el Form1_Load () subrutina y escriba el siguiente código: .
Me.Text = " Mi Multiple Choice Quiz ! "
GetQuestions
( ) guía
quesNum = 1
Label1.Text = " Pregunta " y quesNum &" de " & compare answers.Length < p> Label2.Text = preguntas ( 0 , 0 )
Button1.Text = " Anterior "
Button2.Text = " Siguiente "
RadioButton1.Text = preguntas ( 0 , 1 )
RadioButton2.Text = preguntas ( 0 , 2 )
RadioButton3.Text preguntas = ( 0 , 3 )
la primera línea establece el título de la barra de título. La siguiente línea llama a los GetQuestions () subrutinas . La tercera línea inicializa la variable de contador cuestión. La cuarta línea muestra lo cuestionan número que el usuario está conectado. Aparece la quinta línea de la pregunta uno en la etiqueta. Las líneas sexta y séptima cambiar el texto de los dos botones. Las tres últimas líneas de inserción de las tres respuestas de opción múltiple como el texto de los tres botones de radio
6
Abra la Button1_Click () subrutina y escriba el siguiente código : .
Si quesNum > 1 Entonces
quesNum - = 1
Label1.Text = "Pregunta" y quesNum & " de 3 "
Label2.Text = preguntas ( quesNum - 1 , 0 )
RadioButton1.Text = preguntas ( quesNum - 1 , 1 )
RadioButton2.Text = preguntas ( quesNum - 1 , 2 )
RadioButton3.Text = preguntas ( quesNum - 1 , 3 )
Si Button2.Text = "Enviar" Entonces
Button2.Text = " Siguiente"
End If End If
< br >
Este es el código para el botón "Anterior" . En primer lugar, comprueba si el usuario pulsa el botón mientras que ya en la primera pregunta . Si no, se decrementa el contador pregunta por uno y actualiza el texto de las etiquetas y botones de radio para mostrar la pregunta anterior. Si el usuario estaba en la última pregunta , el texto en Button2 cambia de " Enviar " volver a
7
Abra la Button2_Click () subrutina y escriba el siguiente código en "Siguiente ". :
< p > Si RadioButton1.Checked = True Luego
respuestas ( quesNum - 1 ) = RadioButton1.Text
ElseIf RadioButton2.Checked = True Then
respuestas ( quesNum - 1 ) = RadioButton2.Text
ElseIf RadioButton3.Checked = True Luego
respuestas ( quesNum - 1 ) = RadioButton3.Text
End If
RadioButton1.Focus ()
Si quesNum < 3 Entonces
quesNum + = 1
Label1.Text = "Pregunta" y quesNum & " de " & compare answers.Length
Label2.Text = preguntas ( quesNum - 1 , 0 )
RadioButton1.Text = preguntas ( quesNum - 1 , 1 )
RadioButton2.Text = preguntas ( quesNum - 1 , 2 )
RadioButton3.Text = preguntas ( quesNum - 1 , 3 )
Si quesNum = 3 Entonces
Button2.Text = "Enviar"
End Si
demás
Marktest ()
End If
Este es el código para el botón " Siguiente" . Las primeras siete líneas de verificación para ver qué botón de opción que el usuario ha seleccionado , a continuación, guarda la respuesta a la matriz de respuestas. La siguiente línea se centra la selección del botón de radio en RadioButton1 . La siguiente línea comprueba que el usuario no se encuentra en la última pregunta . Si esto es cierto , aumenta el contador pregunta por uno y actualiza las etiquetas y botones de radio para mostrar la siguiente pregunta. A continuación, comprueba si el usuario se encuentra ahora en la última pregunta . Si es así , cambia el texto para el botón Siguiente en " Siguiente" para " Enviar". Si el usuario ya estaba en la pregunta final y hacer clic en "Enviar ", el programa llama a la función " Marktest " para obtener la puntuación del usuario .
8
Guardar el programa de Visual Basic . Pulse la tecla "F5 " para ejecutarlo.