Chaque question dans un test à choix multiple se compose d'une question proprement dite et plusieurs réponses différentes , dont une seule est correcte. Vous pouvez créer un test à choix multiple en Visual Basic en utilisant des étiquettes pour afficher les questions, les boutons radio pour les réponses possibles et les contrôles de bouton pour naviguer entre les différentes questions. Dans le code, utiliser des tableaux pour enregistrer les questions et les réponses que l'utilisateur soumet et maintenir une variable de compteur de garder une trace de ce que la question que l'utilisateur est en marche. A la fin du test, marquer les réponses de l'utilisateur et afficher le résultat sur le formulaire. Instructions
1
Ouvrez un nouveau projet Visual Basic. Ajoutez deux étiquettes, trois boutons radio et deux contrôles Button au formulaire. Faites glisser les deux étiquettes vers le haut avec Label1 sur le dessus de Label2 . Faites glisser RadioButton1 , RadioButton2 et radioButton3 d'aligner verticalement sous les étiquettes. Faites glisser les deux boutons sous les boutons radio avec Button1 sur la gauche et Button2 sur la droite.
2
presse "F7 " pour ouvrir la fenêtre de code . Tapez le code suivant au niveau de la classe:
des questions Dim ( 2, 4) As String
réponses Dim ( 2) As String
quesNum As Integer
La première ligne crée un tableau à deux dimensions . La première dimension est pour chaque question et la deuxième dimension est la question elle-même , trois choix de réponse et la réponse correcte . La deuxième ligne crée un tableau pour stocker les réponses de l'utilisateur . La troisième ligne crée une variable compteur qui permet de suivre la question à l'utilisateur est sur
3 Type de
le code suivant : .
Private Sub GetQuestions ()
questions
= New String ( ), { {" Combien de couleurs dans un arc en ciel ? ", " 5", " 6 ", " 7 ", " 7 "}, { _
" Qui joué dans Pirates des Caraïbes ? "," Johnny Depp "," John Malkovich "," John Cusack "," Johnny Depp "}, { _
" Quelle est la capitale de la Floride ? "," Miami "," Tallahassee "," Jacksonville "," Tallahassee "}}
End Sub
Ce sous-programme initialise simplement les trois questions et les réponses dans le tableau des questions. Vous pouvez ajouter des questions supplémentaires ou obtenir par d'autres moyens , par exemple par un fichier texte , mais si vous le faites, n'oubliez pas de changer la taille de la question et la réponse des tableaux pour accueillir le nombre de questions.
4 < p > Tapez le code suivant :
privé Marktest Sub ( )
grade As Integer = 0
For i = 0 To 2
Si les réponses ( i) = questions ( i , 4) Ensuite grade
+ = 1
End If
Suivant
Label1.Text = "Test terminé ! "
Label2.Text =" Vous avez marqué " et de qualité et " sur "& answers.Length & "! "
RadioButton1.Enabled = False
RadioButton2.Enabled = False
RadioButton3.Enabled = False
Button1.Enabled = False
Button2.Enabled = False
End Sub
première ligne déclare un sous-programme qui marque le test . Il crée une variable locale pour compter le score, puis cycles à travers les réponses dans le tableau des questions et les réponses soumises par l'utilisateur . Pour chaque réponse qui correspond , le grade monte par un. Il affiche alors le score dans les étiquettes et désactive le reste des contrôles
5
Ouvrez le Form1_Load () de routine et entrez le code suivant : .
Me.Text = "Ma Choix multiples quiz ! "
GetQuestions ()
quesNum = 1
Label1.Text = " Question " et quesNum &" de "&
answers.Length < p> Label2.Text = Questions (0 , 0)
Button1.Text = "Précédent "
Button2.Text = " Suivant"
RadioButton1.Text = question ( 0, 1 ) Photos
RadioButton2.Text = Questions (0 , 2)
RadioButton3.Text = Questions (0 , 3) pour
la première ligne définit le titre de la barre de titre . La ligne suivante appelle les GetQuestions () sous-programmes. La troisième ligne initialise la variable de compteur de question. La quatrième ligne affiche ce numéro de la question à l'utilisateur est activée. La cinquième ligne affiche doute l'un sur l'étiquette. Les lignes sixième et septième changer le texte pour les deux boutons. Les trois dernières lignes Insérez les trois réponses à choix multiples sous forme de texte pour les trois boutons radio
6
Ouvrir le Button1_Click () sous-programme et entrez le code suivant : .
Si quesNum > 1 Alors
quesNum - = 1
Label1.Text = "Question" et quesNum et " 3"
Label2.Text = des questions ( quesNum - 1, 0) Photos
RadioButton1.Text = questions ( quesNum - 1, 1 ) Photos
RadioButton2.Text = questions ( quesNum - 1, 2) Photos
RadioButton3.Text = questions ( quesNum - 1, 3) pour
Si Button2.Text = "Soumettre" Alors
Button2.Text = "Suivant"
End If End If
< br >
c'est le code pour le bouton "Précédent" . Il vérifie d'abord si l'utilisateur appuie sur le bouton tout en étant déjà sur la première question . Sinon, il décrémente le compteur de question par un et met à jour le texte pour les étiquettes et les boutons radio pour montrer la question précédente. Si l'utilisateur était sur la dernière question, le texte sur Button2 passe de " Soumettre " retour à
7
Ouvrez le Button2_Click () de routine et entrez le code suivant "Suivant". :
< p > Si RadioButton1.Checked = Vrai ALORS
réponses ( quesNum - 1) = RadioButton1.Text
ElseIf RadioButton2.Checked = Vrai ALORS
réponses ( quesNum - 1) = RadioButton2.Text
ElseIf RadioButton3.Checked = Vrai ALORS
réponses ( quesNum - 1) = RadioButton3.Text
End IF et
RadioButton1.Focus ()
Si quesNum <3 Alors
quesNum + = 1
Label1.Text = "Question" et quesNum & " de " &
answers.Length
Label2.Text = questions ( quesNum - 1, 0)
RadioButton1.Text = questions ( quesNum - 1, 1 ) Photos
RadioButton2.Text = questions ( quesNum - 1, 2 )
RadioButton3.Text = des questions ( quesNum - 1, 3) pour
Si quesNum = 3 Ensuite
Button2.Text = "Soumettre"
Fin Si
Else
Marktest ()
End If
c'est le code pour le bouton "Suivant". Les sept premières lignes de vérifier pour voir ce bouton radio que l'utilisateur a sélectionné , puis enregistre la réponse au tableau réponses. La ligne suivante se concentre la sélection du bouton radio sur RadioButton1 . La ligne suivante vérifie que l'utilisateur n'est pas sur la dernière question. Si cela est vrai , il augmente le compteur de question par un et met à jour les étiquettes et les boutons radio pour montrer la prochaine question. Il vérifie ensuite si l'utilisateur est maintenant sur la dernière question . Si c'est le cas , il change le texte pour le bouton Suivant de «Next» pour «Soumettre». Si l'utilisateur est déjà sur la dernière question et clique sur «Envoyer », le programme appelle la fonction " Marktest " pour obtenir le score de l' utilisateur .
8
Enregistrer le programme Visual Basic. Appuyez sur "F5" pour l'exécuter.