我很難搞清楚什麼。根據正確/不正確的答案改變按鈕的顏色
我想根據點擊的按鈕是正確的答案還是錯誤的答案來改變按鈕的背景顏色,即如果點擊的按鈕是正確的答案,背景顏色會變成黃綠色,如果它是錯誤的答案,所有錯誤答案的背景顏色變爲紅色,正確答案具有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