请阅读我的问题,它不是重复的问题。
我在 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(使用前将#替换为@)