-1

C#コーディングに取り組んでいますが、送信ボタンをクリックするときに問題が発生し、チェックボックスの回答のいくつかの異なる組み合わせを選択すると、「正しい」または「正しくない」で正しく更新されません。Answer2とAnswer3のみがチェックされている場合、「正しい」ラベルのみが表示されるようにコードを調整するにはどうすればよいですか?間違った答えの1つが正しい答えで選択されたとしても、それは「正しくない」と表示されます。

if (Answer2.Checked && Answer3.Checked == true)
    {
        lblQuestionResult4.ForeColor = System.Drawing.Color.Green;
        lblQuestionResult4.Text = "Correct";
    }
    else
    {
        if (Answer1.Checked && Answer4.Checked == true)
        {
            lblQuestionResult4.ForeColor = System.Drawing.Color.Red;
            lblQuestionResult4.Text = "Incorrect";
        }
4

1 に答える 1

0

これが1つのアプローチです。コードスニペットには、考慮されていない条件があります。このコードは、最悪の事態を想定し、発生した場合にのみ正しいケースの値を設定することで、これを回避します(つまり、回答2と3がチェックされ、残りはすべてオフになります)。

var color = System.Drawing.Color.Red; //assume incorrect answer
var label = "Incorrect";

if (Answer2.Checked && Answer3.Checked && !Answer1.Checked && !Answer4.Checked)
{
  //only the 2 correct answers have been checked
  color = System.Drawing.Color.Green;
  label = "Correct";
}

// set the controls
lblQuestionResult4.ForeColor = color;
lblQuestionResult4.Text = label;
于 2013-03-05T01:55:57.410 に答える