簡體   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