0
我已经做了一个简单的代码,它将接受(输入键)选定的单选按钮。如果它与答案匹配,请检查单选按钮文本。但是这个代码太冗余了,有没有办法让它更简单?C#radiobutton keydown事件
private void btn1_KeyDown(object sender, KeyEventArgs e)
{
var row = dTable.Rows[currentRow];
var ans = row["ANSWER"].ToString();
if (btn1.Text == ans)
{
scoreAdd();
MessageBox.Show("Correct");
}
else
{
MessageBox.Show(ans);
}
currentRow++;
nextRow();
}
private void btn3_KeyDown(object sender, KeyEventArgs e)
{
var row = dTable.Rows[currentRow];
var ans = row["ANSWER"].ToString();
if (btn3.Text == ans)
{
scoreAdd();
MessageBox.Show("Correct");
}
else
{
MessageBox.Show(ans);
}
currentRow++;
nextRow();
}
private void btn4_KeyDown(object sender, KeyEventArgs e)
{
var row = dTable.Rows[currentRow];
var ans = row["ANSWER"].ToString();
if (btn4.Text == ans)
{
scoreAdd();
MessageBox.Show("Correct");
}
else
{
MessageBox.Show(ans);
}
currentRow++;
nextRow();
}
[代码审查](HTTPS:/ /codereview.stackexchange.com)。 – Sinatr
您可以将'sender'强制转换为'Button'(或者您正在使用的任何控件类型)以获得其文本:'((Button)sender).Text'而不是'btn4.Text'。在这一点上,其余的代码是相同的,所以一个处理程序可以用于所有的按钮。 – David