我很难搞清楚什么。根据正确/不正确的答案改变按钮的颜色
我想根据点击的按钮是正确的答案还是错误的答案来改变按钮的背景颜色,即如果点击的按钮是正确的答案,背景颜色会变成黄绿色,如果它是错误的答案,所有错误答案的背景颜色变为红色,正确答案具有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();
}
}
这个问题的任何帮助将非常感激。
下一步按钮的事件处理程序是什么?你是否分配了新的按钮? – 2013-03-09 20:07:36
@ bash.d更新了问题。 – user2141272 2013-03-09 20:15:32
您是否重置了“qCorrect”? 'PickQuestion'中会发生什么?在按钮的事件处理程序的第一个赋值中必定有些奇怪... – 2013-03-09 20:21:29