2016-10-08 52 views
1

我有一組8個單選按鈕,是否有一種簡單的方法來檢查組的「已檢查」狀態是否已更改?我不需要知道哪個按鈕已被選中,只要選中了不同的按鈕。有點像整個組的CheckedChanged事件。確定單選按鈕組的檢查狀態是否已更改

+0

沒有,但它很容易實現,它被設置爲false初始加載後,並設置爲true,如果任何一個單選按鈕的觸發事件的CheckedChanged一個簡單的變量 – 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事件處理程序分配給所有單選按鈕。當您檢查一個單選按鈕時,該方法將被調用兩次(對於單選按鈕丟失複選標記並檢查單選按鈕)。所以只處理被檢查的事件。

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

我想你在找什麼是這樣的,該組

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

在所有單選按鈕共同處理您可以連接了所有的單選按鈕的CheckedChanged事件相同的處理程序。遵循此代碼。

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) 
     { 

     } 
    } 
相關問題