2017-06-21 11 views
1
if (rbMale.Checked == false && rbFemale.Checked == false) 
     { 
      flag = true; 
      e.Cancel = true; 
      groupBox1.Focus(); 
      errorProvider1.SetError(groupBox1, "Please Select the gender"); 
     } 
     else 
     { 
      e.Cancel = false; 
      errorProvider1.SetError(groupBox1,""); 
     } 

ラジオボタンの1つをチェックするとき。赤いアイコンが表示されているのはなぜですか?エラーアイコンが表示されています。コードを確認して助けてください。どんな助けも素晴らしいだろう。おかげグループボックス内にあるラジオボタンでエラープロバイダを使用するにはどうすればよいですか?

答えて

0

のチェックを外す/、両方 CheckBox's Click Eventsに、あなたがチェックしている時はいつでもあなたのerrorProviderを更新する必要があり これを一般的な方法には、この検証を移動し、トリガする必要がある

イベントはe.Cancel行のためですか? このコードでは、フォームが閉じられているときにのみエラーをリセットします。

ラジオボタンが選択されるとすぐにエラーをクリアするには、CheckedChanged()の両方のイベントを配線する必要があります"rbMale"と "rbFemale"のように:

private void rbMaleAndFemale_CheckedChanged(object sender, EventArgs e) 
    { 
     if (rbMale.Checked || rbFemale.Checked) 
     { 
      errorProvider1.SetError(groupBox1, ""); 
     } 
    } 
0
あなただけの私はあなたのコードが FormClosing()であると仮定し、チェックボックス
関連する問題