在C#中實現RadioButton的組互斥可以通過以下步驟完成:
在窗體中放置多個RadioButton控件,并設置它們的GroupName屬性為相同的值,這樣這些RadioButton就會被分組在一起。
創建一個事件處理方法來處理RadioButton的CheckedChanged事件,該方法會遍歷所有的RadioButton控件并將它們的Checked屬性設置為false,除了當前被選中的RadioButton。
下面是一個示例代碼:
private void radioButton_CheckedChanged(object sender, EventArgs e)
{
RadioButton radioButton = sender as RadioButton;
if (radioButton.Checked)
{
foreach (Control control in this.Controls)
{
if (control is RadioButton && (control as RadioButton).GroupName == radioButton.GroupName)
{
if (control != radioButton)
{
(control as RadioButton).Checked = false;
}
}
}
}
}
在窗體的Load事件中為每個RadioButton控件添加CheckedChanged事件處理方法:
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control control in this.Controls)
{
if (control is RadioButton)
{
(control as RadioButton).CheckedChanged += radioButton_CheckedChanged;
}
}
}
這樣就實現了RadioButton的組互斥功能,當一個RadioButton被選中時,其它的RadioButton會自動取消選中狀態。