c#中单选按钮事件的顺序

本文关键字:顺序 事件 单选按钮 | 更新日期: 2023-09-27 18:04:53

我在表单上有一些单选按钮。当用户更改单选按钮选择时,我用该信息更新另一个对象。每个单选按钮都有不同的事件处理程序,但它们都用于CheckedChanged事件。

先触发哪个事件?是失去选择的单选按钮的CheckedChanged,还是被选中的单选按钮的CheckedChanged ?还是一场比赛?

c#中单选按钮事件的顺序

创建一个新的WinForms项目需要一分钟的时间,在上面拖动两个单选按钮,并为它们的CheckedChanged事件分配两个独立的事件处理程序。因此,在这种情况下,答案是:uncheck先触发。

然而,它没有被记录,所以它可能随着任何。net更新而改变(不太可能,但仍然)。不要将应用程序逻辑绑定到它。

如果你能解释你的实际问题,你的问题就能得到更具体的回答。我猜你的代码看起来像这样:
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
    SomeLabel.Text = "Option 1";
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
    SomeLabel.Text = "Option 2";
}

将其更改为考虑单选按钮的状态:

if ((sender as RadioButton).Checked)
{
    SomeLabel.Text = "Option 1";
}

所以你的代码不再依赖于事件的顺序,也不会在不需要的时候执行。