2016-10-08 18 views
1

私は8つのラジオボタンのグループを持っていますが、グループの「チェック済み」ステータスが変更されたかどうかを確認する簡単な方法はありますか?私は、異なるボタンがチェックされている場合にだけ、どのボタンがチェックされたのかを知る必要はありません。グループ全体のCheckedChangedイベントのような並べ替え。ラジオボタングループのチェックステータスが変更されたかどうかを確認する

+0

ありませんが、それは簡単にラジオボタンのいずれかがCheckedChangedイベントを発生場合は、trueに初期ロード後falseに設定し、設定されている単純な変数を実装するために – Steve

+3

Hanlde 'CheckedChanged'すべてのラジオボタンのシングルを使用して方法。 –

+0

if(radioButton1.checked)とaspxファイルでCheckChangedイベントを発生させてみてください。この質問はhttp://stackoverflow.com/questions/1797907/which-radio-button-in-the-group-is-checkedと同じです。 ?rq = 1 – sonsha

答えて

3

同じCheckedChangedイベントハンドラをすべてのラジオボタンに割り当てることができます。ラジオボタンをチェックすると、メソッドは2回呼び出されます(ラジオボタンがチェックマークを消していて、ラジオボタンがチェックされている場合)。チェックされているイベントだけを処理します。

private void anyRadioButton_CheckedChanged(object sender, EventArgs e) 
    { 
     // The radio button that raised the event 
     var radioButton = sender as RadioButton; 

     // Only do something when the event was raised by the radiobutton 
     // being checked, so we don't do this twice. 
     if(radioButton.Checked) 
     { 
      // Do something here 
     } 
    } 
+0

これは私が探していたものだと思います。みなさん、ありがとうございました! – Rado

2

私はあなたが同じハンドラにラジオボタンCheckedChangedイベントのすべてを配線することができ、あなたが探していることは、この、すべてのラジオボタンのための共通のハンドラは、グループ内の

radioButton1.CheckedChanged += new EventHandler(radioButtons_CheckedChanged); 
radioButton2.CheckedChanged += new EventHandler(radioButtons_CheckedChanged); 
1

だと思います。このコードに従ってください。

public Form1() 
    { 
     rB1.CheckedChanged += new EventHandler(rB_CheckedChanged); 
     rB2.CheckedChanged += new EventHandler(rB_CheckedChanged); 


    } 

    private void rB_CheckedChanged (object sender, EventArgs e) 
    { 
     RadioButton radioButton = sender as RadioButton; 

     if (rB1.Checked) 
     { 

     } 
     else if (rB2.Checked) 
     { 

     } 
    } 
関連する問題