我已经创建了一个多项选择测验,但我正在努力想出正确的代码来制作它,以便如果玩家选择包含正确答案的按钮,它的背景色会变成绿色几秒钟,然后下一个问题会自动出现并返回其正常的背景色。
此外,如果玩家选择了包含错误答案的按钮,则其背景颜色会变为红色,以向玩家表明他们的答案不正确。
为此,我有一个label
called lblQuestion
,其中包含被问的问题,然后是四个buttons
( btnAnswerA
、和) btnAnswerB
,它们都包含对该问题的潜在答案,当然,只有一个是正确的。btnAnswerC
btnAnswerD
我一直在摆弄代码一段时间,试图让它工作,但它并没有按照我的意愿工作,所以想来这里寻求一些关于这个问题的指导。
以下是与此问题相关的一些代码。我相信通过看它,你们中的许多人都会知道我哪里错了!
Private Sub btnAnswerA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnswerA.Click
If strAnswer = "A" Then
btnAnswerA.BackColor = Color.Green
intScore = intScore + 100
lblScore.Text = intScore
Else
btnAnswerA.BackColor = Color.Red
Call GetQuestion(questionNumber)
End If
Call GetQuestion(questionNumber)
prgbarOne.Value = 0
End Sub
Private Sub btnAnswerB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnswerB.Click
If strAnswer = "B" Then
btnAnswerB.BackColor = Color.Green
intScore = intScore + 100
lblScore.Text = intScore
Else
btnAnswerB.BackColor = Color.Red
Call GetQuestion(questionNumber)
End If
Call GetQuestion(questionNumber)
prgbarOne.Value = 0
End Sub
Private Sub btnAnswerC_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnswerC.Click
If strAnswer = "C" Then
btnAnswerC.BackColor = Color.Green
intScore = intScore + 100
lblScore.Text = intScore
Else
btnAnswerC.BackColor = Color.Red
Call GetQuestion(questionNumber)
End If
Call GetQuestion(questionNumber)
prgbarOne.Value = 0
End Sub
Private Sub btnAnswerD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnswerD.Click
If strAnswer = "D" Then
btnAnswerD.BackColor = Color.Green
intScore = intScore + 100
lblScore.Text = intScore
Else
btnAnswerD.BackColor = Color.Red
Call GetQuestion(questionNumber)
End If
Call GetQuestion(questionNumber)
prgbarOne.Value = 0
End Sub
基本上,我只需要一些帮助来了解如何让 BackColor 变成绿色/红色(取决于它们是对还是错),然后再展示下一个问题在哪里Call GetQuestion(questionNumber)
以及知道如何获得原始 BackColor(这是灰色)在玩家点击按钮之前返回下一个问题。
希望这是有道理的,任何帮助都非常感谢。抱歉,我对编程还是很陌生(你可能会说)。另外,如果需要更多代码,我会提交。