检查是否从Checkchanged事件检查了RadioButton

时间:2019-05-10 05:57:53

标签: c# .net checkbox

我需要检查是否从checkchanged事件中选中了RadioButton

private void radioButton6_CheckedChanged_2(object sender, EventArgs e)
{
    if(radioButton6.Checked)
    {

    }
}

这是这样做的正确方法吗?我可以从发送者对象访问CheckBox状态吗?

1 个答案:

答案 0 :(得分:1)

  

这是这样做的正确方法吗?

这取决于。如果您需要非常区分每个单选按钮。含义:您确实需要检查事件方法内部:

if(radioButton6.Checked)

然后这就是要走的路。可以应用此方法的另一种情况是,您为每个单选按钮注册了一个单独的事件处理程序。然后,您可以直接访问该按钮,因为在这种情况下,发件人始终是radioButton6

  

我可以从发送者对象访问CheckBox状态吗?

可以。在这种情况下,建议这样做:如果决定将相同的方法注册到许多不同的单选按钮事件中,则可以使用发送方并将其强制转换。这样可以为您节省很多重复代码。

private void radioButton6_CheckedChanged_2(object sender, EventArgs e)
{
    RadioButton button = sender as RadioButton;
    if(button?.Checked == true)
    {

    }
}

在这种情况下,可以使用RadioButton的{​​{3}}属性来区分它们。首先将其设置,然后即可进行检查。