【问题标题】:Selected Radio Buttons Error选定的单选按钮错误
【发布时间】:2014-03-26 04:09:27
【问题描述】:

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

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

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

到目前为止我所做的工作:
这是我从数据库中更新单选按钮文本名称的方式。
该方法在表单加载时调用

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");
        }
    }
}

当我在上面运行我的代码时,即使选择了正确的单选按钮,else 条件也会执行。任何人都可以请帮助这是为什么?我错过了什么吗?

【问题讨论】:

  • “点击按钮时调用此方法”。单击哪个按钮后?是RadioButton吗?
  • 抱歉 .. 当单选按钮被选中时“下一个按钮”被调用。
  • 设置断点。可能是什么问题?变量是否包含您所期望的?另外,通过String.Equals()比较字符串。

标签: c#


【解决方案1】:

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

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

对所有RadioButtons 执行此检查,并仅将检查的RadioButton 传递给方法。

您可以删除CorrectAnswer 方法中的rdb.Checked 条件。

【讨论】:

    猜你喜欢
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2010-11-20
    • 2014-07-04
    • 2016-03-01
    相关资源
    最近更新 更多