2011-01-05 100 views
2

這就是我正在做的事情,它會導致堆棧溢出,因爲它只是永遠地來回切換。在WinForms中切換單選按鈕

private void radioButtonA_CheckedChanged(object sender, EventArgs e) 
    { 
     radioButtonB.Checked = !radioButtonB.Checked; 
    } 

    private void radioButtonB_CheckedChanged(object sender, EventArgs e) 
    { 
     radioButtonA.Checked = !radioButtonA.Checked; 
    } 

必須有更好的方法來做到這一點...

回答

4

嘗試註釋掉所有代碼,看看它是否工作,你想要的方式。 您不必取消選中代碼中的其他單選按鈕

+0

哇,這很容易,謝謝! – sooprise 2011-01-05 17:05:02

1

您可以在更改Checked值之前禁用代碼中的事件,然後在之後立即再次添加它。

1

它是否切換「One」單選按鈕你正在嘗試做什麼?如果是這樣,我嘗試了這個,它適用於我:

將Radio Button的AutoCheck屬性設置爲FALSE。

爲單選按鈕創建一個「單擊」事件。

在Click事件處理程序單選按鈕粘貼代碼:

radioButton.Checked = radioButton.Checked;

我希望這會有所幫助。