出错了。单选按钮做的一个选择题抽题小程序,高手请赐教。谢谢。
朋友们帮帮忙看下代码。我想做一个winform下,选择题抽题回答的小程序,下面是当单击按钮时,判断哪个单选按钮被选中了,然后对比答案,给出正确答案,并判断对错。前面都没有问题,唯独在没有单选按钮未选中时的代码出现问题。后面注释掉的就是单选按钮未选中的代码。但是加上那些代码后,就出错,只有第一个按钮可以判断对错,后面的可以获取是哪个按钮被选中,但是选中后三个按钮后,都不运行回答错误的那句代码,而直接运行注释掉的那个else语句。就好像是其他按钮被选中,都被认为是没选一样。
这里我应该怎么处理?
//注:chuandishuju.daan是我从数据库里提取出来的正确答案。单选按钮放到同一个groupBox1内。
foreach (Control val in groupBox1.Controls)
{
if (val is RadioButton && (val as RadioButton).Checked)
{
switch (val.Name)
{
case "radioButton1": rdChecked = "A"; break;
case "radioButton2": rdChecked = "B"; break;
case "radioButton3": rdChecked = "C"; break;
case "radioButton4": rdChecked = "D"; break;
default: rdChecked = ""; break;
}
if (chuandishuju.daan.ToUpper().Trim() == rdChecked)
{
textBox3.Text = "正确答案是:" + chuandishuju.daan.Trim() + " 回答正确!";
}
else
{
textBox3.Text = "正确答案是:" + chuandishuju.daan.Trim() + " 回答错误!";
}
}
//这里想判断如果什么都没选中,单击按钮,则显示“正确答案是:xx”,而不显示回答正确还是错误。
//下面这个else语句,不知道为什么,加上就出错,BCD三个选项不能很好判断,本来没问题的。把抽题前,查看答案按钮设为不可用就出问题了。
//可以很好的获取选择的是哪个单选按钮,但是就是不能很好运行,加上后,第一个单选按钮可以很好判断,后面那3个都可以知道是选中的哪个,
//但不能判断正确错误。而直接运行下面的else语句。
//else
//{
// textBox3.Text = "正确答案是:" + chuandishuju.daan.Trim();
//}
//下面这个if语句也不让用,用就出错,怎么才能处理没有选择的情况呢?
//if (val is RadioButton && !(val as RadioButton).Checked)//解释见下面那一大堆。。。
//{
// textBox3.Text = "正确答案是:" + chuandishuju.daan.Trim();
//}
}