我很难弄清楚一些事情。
我希望根据单击的按钮是正确答案还是错误答案来更改按钮的背景颜色,即如果单击的按钮是正确答案,则背景颜色更改为 YellowGreen,如果是错误答案,则背景所有错误答案的颜色变为红色红色,正确答案的背景颜色为黄绿色,以便用户能够查看他们是否正确或错误,以及哪个答案是正确的。
就像第一个问题出现,有四个按钮,我点击正确答案,它变成绿色,错误答案变成红色,但是当我点击下一步并转到下一个问题时,它不再改变颜色。如果我单击其中一个错误答案,颜色也不会因某种原因而改变,前提是我先单击正确答案。
这四个按钮分别命名为 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();
}
}
任何有关该问题的帮助将不胜感激。