根据正确/错误的答案改变按钮的背景颜色
本文关键字:答案 改变 背景 颜色 按钮 错误 | 更新日期: 2023-09-27 18:03:13
我有点想不明白。
我想让按钮的背景颜色变化基于按钮点击是否正确答案或错误的答案即如果正确答案点击按钮,背景颜色更改为黄绿色,如果是错误的答案,所有的错误的答案恰克的背景颜色红红和正确答案有黄绿色的背景颜色,以便用户能够看到如果他们有问题或如果他们弄错了,哪个答案是正确的。
就像第一个问题出现,有四个按钮,我点击正确的答案,它变成绿色,错误的答案变成红色但当我点击下一步,进入下一个问题,它不再改变颜色。由于某些原因,如果我点击一个错误的答案,颜色也不会改变,只有当我先点击正确的答案时,颜色才会改变。
四个按钮分别命名为button4、button5、button6和button7。我有一个示例代码(所有四个按钮都有这个):
if (qCorrect == 1)
{
button4.BackColor = Color.YellowGreen;
button5.BackColor = Color.Red;
button6.BackColor = Color.Red;
button7.BackColor = Color.Red;
}
在btnNext_Click上我有:
private void btnNext_Click(object sender, EventArgs e)
{
// swap panels
dPanel.Visible = false;
qPanel.Visible = true;
button4.BackColor = SystemColors.Control;
button5.BackColor = SystemColors.Control;
button6.BackColor = SystemColors.Control;
button7.BackColor = SystemColors.Control;
button4.Font = new Font(button4.Font.Name, button4.Font.Size, FontStyle.Regular);
button5.Font = new Font(button5.Font.Name, button5.Font.Size, FontStyle.Regular);
button6.Font = new Font(button6.Font.Name, button6.Font.Size, FontStyle.Regular);
button7.Font = new Font(button7.Font.Name, button7.Font.Size, FontStyle.Regular);
if ( qCounter != qSection )
{
PickQuestion();
label5.Text = "Question " + qCounter.ToString() + " of " + qSection.ToString();
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button7.Enabled = true;
}
else
{
btnNext.Enabled = false;
label5.Text = "You answered " + qCorrect.ToString() + " questions correctly out of a possible " + qSection.ToString();
}
}
如果您能帮助解决这个问题,我将不胜感激。
好的,我知道了!在您的回答按钮的事件处理程序中,您总是增加qCorrect,但您只检查qCorrect == 1
。如果你点击了第一个答案,qCorrect
将是1,当你回答第二次,qCorrect
将是2,但你检查qCorrect == 1
。等等......
当您在易于模式的button4_click和button6_click中设置断点时,您将看到我的意思!希望这对你有帮助。