Ogni domanda in un test a scelta multipla composto da una domanda e diverse risposte diverse , di cui solo una è corretta . È possibile creare un test a scelta multipla in Visual Basic utilizzando etichette per visualizzare le domande , pulsanti di opzione per le possibili risposte e controlli pulsante per navigare tra le diverse domande. Nel codice , utilizzare le matrici per salvare le domande e le risposte che l'utente invia e mantenere una variabile contatore per tenere traccia di ciò che mette in discussione l'utente è on . Alla fine del test , marchio risposte dell'utente e visualizzare il risultato sul modulo . Istruzioni 
 1 
 Aprire un nuovo progetto di Visual Basic . Aggiungere due etichette, tre pulsanti radio e due controlli Button al form. Trascinare le due etichette al top con Label1 sopra Label2 . Trascinare RadioButton1 , RadioButton2 e RadioButton3 per allineare verticalmente sotto le etichette . Trascinare i due pulsanti sotto i pulsanti di opzione con Button1 a sinistra e Button2 a destra. 
 2 
 Premere " F7 " per aprire la finestra del codice . Digitare il seguente codice a livello di classe : 
 
 domande Dim ( 2 , 4) as String 
 
 risposte Dim ( 2) As String Dim 
 
 quesNum Come 
 Integer 
 La prima riga crea una matrice bidimensionale . La prima dimensione è per ogni domanda e la seconda dimensione è per la domanda stessa , tre opzioni di risposta e la risposta corretta . La seconda riga crea un array per memorizzare le risposte dell'utente. La terza riga crea una variabile contatore che tiene traccia della questione l'utente è in 
 3 
 digitare il seguente codice : . 
 
 Private Sub GetQuestions () 
 domande 
 = new String ( , ) { {" quanti sono i colori in un arcobaleno ? " , " 5 " , " 6 " , " 7 " , "7" } , _ 
 
 { "Chi protagonista di Pirati dei Caraibi ? "," Johnny Depp " , " John Malkovich " , " John Cusack " , " Johnny Depp "} , _ 
 
 {" Qual è la capitale della Florida ? "," Miami " , " Tallahassee " , " Jacksonville " , " Tallahassee "} } 
 
 End Sub 
 
 Questa subroutine inizializza semplicemente le tre domande e risposte nella matrice domande. È possibile aggiungere ulteriori domande o ottenere in altri modi , ad esempio attraverso un file di testo , ma se lo fate , ricordate di cambiare le dimensioni della domanda e risposta array per contenere il numero di domande. 
 4 < p > Digitare il seguente codice: private Sub 
 
 MarkTest ( ) per 
 grado Dim As Integer = 0 
 
 For i = 0 To 2 
 
 risposte ( i) = domande ( i, 4) Poi 
 
 grado + = 1 
 
 End If 
 
 Avanti 
 
 Label1.Text = "Test finiti! " 
 
 Label2.Text =" il tuo punteggio " e grado e " fuori " e answers.Length &" ! " 
 
 RadioButton1.Enabled = False 
 
 RadioButton2.Enabled = False 
 
 RadioButton3.Enabled = False 
 
 Button1.Enabled = False 
 
 Button2.Enabled = False 
 
 End Sub 
 
 prima riga dichiara una subroutine che segna il test . Si crea una variabile locale per contare il punteggio, poi i cicli attraverso le risposte dell'array domande e le risposte inviate dall'utente. Per ciascuna risposta che corrisponde , il grado aumenta di uno. Quindi visualizza il punteggio nelle etichette e disabilita il resto dei controlli 
 5 
 Aprire il Form1 Load ( ) subroutine e digitare il seguente codice : . 
 
 Me.Text = " Il mio quiz a scelta multipla ! "
 
 GetQuestions () 
 
 quesNum = 1 
 
 Label1.Text = " domanda " e quesNum &" di " & 
 answers.Length < p > Label2.Text = domande ( 0 , 0 ) per 
 Button1.Text = "Indietro " 
 
 Button2.Text = " Avanti " 
 
 RadioButton1.Text domande = ( 0 , 1 ) per 
 RadioButton2.Text = domande ( 0 , 2 ) per 
 RadioButton3.Text = domande ( 0 , 3 ) per 
 la prima riga imposta il documento nella barra del titolo . La riga seguente chiama le GetQuestions () subroutine . La terza riga inizializza la variabile contatore domanda . La quarta riga visualizza quello che mettono in discussione il numero che l'utente è attivo. La quinta riga visualizza interrogano uno in etichetta. La sesta e la settima linee cambiano il testo per i due pulsanti . Le ultime tre righe inserire le tre risposte a scelta multipla come testo per i pulsanti tre radiofonici 
 6 
 Aprire il Button1_Click ( ) subroutine e digitare il seguente codice : . 
 
 QuesNum > 1 Poi 
 
 quesNum - = 1 
 
 Label1.Text = " domanda " e quesNum & " di 3" 
 
 Label2.Text = domande ( quesNum - 1 , 0 ) 
 
 RadioButton1.Text = domande ( quesNum - 1 , 1 ) per 
 RadioButton2.Text = domande ( quesNum - 1 , 2 ) per 
 RadioButton3.Text = domande ( quesNum - 1 , 3 ) per 
 Button2.Text = " Invia" Allora 
 
 Button2.Text = " Avanti" 
 
 End If End If 
 
 < br > 
 Questo è il codice per il pulsante " Indietro " . Prima controlla se l'utente preme il pulsante mentre si è al primo quesito . In caso contrario , si decrementa il contatore di domanda per uno e un aggiornamento del testo per le etichette e pulsanti di opzione per visualizzare la domanda precedente . Se l'utente era sulla domanda finale , il testo su Button2 cambia da " Invia" torna a 
 7 
 Aprire il Button2_Click ( ) subroutine e digitare il seguente codice "Next ". : 
 < p > Se RadioButton1.Checked = true allora 
 
 risposte ( quesNum - 1 ) = RadioButton1.Text 
 
 ElseIf RadioButton2.Checked = true allora 
 
 risposte ( quesNum - 1 ) = RadioButton2.Text 
 
 ElseIf RadioButton3.Checked = true allora 
 
 risposte ( quesNum - 1 ) = RadioButton3.Text 
 
 End IF e 
 RadioButton1.Focus ( ) per 
 quesNum <3 Poi 
 
 quesNum + = 1 
 
 Label1.Text = " domanda " e quesNum & " di " & 
 answers.Length 
 Label2.Text = domande ( quesNum - 1 , 0 ) per 
 RadioButton1.Text = domande ( quesNum - 1 , 1 ) per 
 RadioButton2.Text = domande ( quesNum - 1 , 2 ) per 
 RadioButton3.Text = domande ( quesNum - 1 , 3 ) per 
 quesNum = 3 Quindi 
 
 Button2.Text = " Invia" 
 
 End Se 
 
 Else 
 
 MarkTest ( ) per 
 End If 
 
 Questo è il codice per il pulsante "Avanti". Le prime sette righe controllano per vedere che il pulsante radio era selezionato l'utente , quindi salva la risposta alla matrice delle risposte. La riga successiva si concentra la selezione del pulsante radio RadioButton1 . La riga successiva verifica che l'utente non si trova sulla domanda finale . Se questo è vero , la questione contatore aumenta di uno e aggiorna le etichette e pulsanti di opzione per visualizzare la domanda successiva . Quindi controlla per vedere se l'utente è ora sulla domanda finale . Se è così , cambia il testo per il pulsante Avanti da " Next" su " Invia". Se l'utente era già sulla domanda finale e cliccato "Invia ", il programma chiama la funzione " MarkTest " per ottenere il punteggio dell'utente . 
 8 
 Salva il programma Visual Basic . Premere il tasto " F5 " per eseguirla.