【问题标题】:Check if RadioButton is Checked from Checkchanged event检查是否从 Checkedchanged 事件中检查了 RadioButton
【发布时间】:2019-09-28 00:07:11
【问题描述】:

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

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

    }
}

这是正确的做法吗?我可以从 sender 对象访问 CheckBox 状态吗?

【问题讨论】:

标签: c# .net checkbox


【解决方案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 的Tag 属性来区分它们。在开头设置它,然后您可以检查它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-19
    • 2011-10-29
    • 1970-01-01
    • 2016-07-03
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多