繁体   English   中英

选定的单选按钮错误

[英]Selected Radio Buttons Error

我正在开发一个从数据库生成问题的项目,这些问题是通过多项选择答案生成的。

在此表单上,我有一个文本框,可从数据库中删除问题,还有4个单选按钮,可从数据库中读取可能的答案。 每次单击“下一个按钮”时,单选按钮的文本名称都会用数据库表中的记录进行更新。

我要这个程序要做的是,当用户选择一个单选按钮时,我希望系统检查所选单选按钮的文本名称是否等于数据库表中的正确答案。 例如,表中有5列,即:option1,option2,option3,option4和rightAnswer。 因此,每当用户选择一个单选按钮时,我希望系统检查所选的单选按钮的文本名称是否等于“ RightAnswer”列中的记录,如果是,则我将使一个消息框显示“正确”,如果不是,则显示messgaebox “错误”

我所做的工作如此之遥:
这就是我从数据库更新单选按钮文本名称的方式。
加载表单时调用此方法

void LoadingPossibleAnswers()
      {     
          Query = "SELECT * FROM AnswersTbl";
          theReader = conn.ExecuteStatement(Query);
          while (theReader.Read())
          {                      
                  radioButton1.Text = theReader["Option1"].ToString();
                  radioButton2.Text = theReader["Option2"].ToString();
                  radioButton3.Text = theReader["Option3"].ToString();
                  radioButton3.Text = theReader["Option4"].ToString();        
          }     
          conn.CloseConnection();
      }

单击按钮时调用此方法

void CorrectAnswer( RadioButton rdb)
{
    string correct = rdb.Text;

    Query = "SELECT * FROM FROM AnswersTbl;"
    theReader = conn.ExecuteStatement(Query);
    while (theReader.Read())
    {
        correct = theReader["RightAnswer"].ToString();

        if (rdb.Checked && rdb.Text == correct)
        {     
            MessageBox.Show("correct");
        }
        else
        {
            MessageBox.Show("wrong");
        }
    }
}

每当我在上面运行代码时,即使选择了正确的单选按钮,其他条件也会执行。 有人可以帮忙这吗? 我错过了什么吗?

参考您的代码,在进入CorrectAnswer方法之前,请执行此检查( rdb.Checked )。 喜欢

if(rdb.Checked)
{
CorrectAnswer(rdb);
}

进行所有RadioButton的检查,仅将选中的RadioButton传递给方法。

您可以在CorrectAnswer方法旁边删除rdb.Checked条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM