单选按钮选中更改事件触发两次

2024-04-15

请阅读我的问题,它不是重复的问题。

我在 Windows 窗体上有三个单选按钮,所有这些按钮都具有关联的常见“CheckedChanged”事件。当我单击任何这些单选按钮时,它会触发“CheckedChanged”事件两次。

这是我的代码:

private void radioButtons_CheckedChanged(object sender, EventArgs e)
{
    //My Code
}

我插入了断点,并且该事件中的整个代码迭代了两次。 请告诉我为什么它会这样?


正如其他回答者正确地说的那样,该事件被触发两次,因为每当选中组中的一个 RadioButton 时,另一个将被取消选中 - 因此选中的更改事件将触发两次。

要仅在该事件中为刚刚选择的 RadioButton 执行任何操作,您可以查看发送者对象,执行如下操作:

void radioButtons_CheckedChanged(object sender, EventArgs e)
{
    RadioButton rb = sender as RadioButton;
    if (rb != null)
    {
        if (rb.Checked)
        {
            // Only one radio button will be checked
            Console.WriteLine("Changed: " + rb.Name);
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单选按钮选中更改事件触发两次 的相关文章

随机推荐