在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会自动取消选中状态。