【问题标题】:Can I reuse the same radiobutton with same value for different section?我可以为不同的部分重复使用具有相同值的相同单选按钮吗?
【发布时间】:2021-03-12 10:54:14
【问题描述】:

如下图所示,我使用单选按钮来收集用户的反馈。我是否需要为所有这 8 个按钮提供唯一名称来获取数据?或者有没有其他方便的方法可以只声明 4 个按钮并在每个部分中重复使用它们?

请查看此图片以更好地理解:

【问题讨论】:

标签: c# .net winforms radio-button


【解决方案1】:

如果您可以创建一种方法来将符合条件的单选按钮放在一个序列中,则不需要名称。您可以使用 LINQ 来获取选中的那个:

private IEnumerable<RadioButton> RadioButtons => ...

private RadioButton SelectedRadioButton => this.RadioButtons
    .Where(radioButton => radioButton.Checked)
    .FirstOrDefault();

一种方法是在一个控件中获取所有单选按钮(例如 GroupBox)

IEnumerable<RadioButton> GetRadioButtons(Control control)
{
    return control.Controls.OfType<RadioButton>();
}

如果所有 RadioButtons 都有相同的事件处理程序,那么您可以使用参数 sender:

private void OnRadioButtonCheckedChange(object sender, ...)
{
    RadioButton radioButton = (RadioButton)sender;
    if (radioButton.Checked)
        this.RadioButtonSelected(radioButton);
    else
        this.RadioButtonDeselected(radioButton);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    相关资源
    最近更新 更多