读取哪个RadioButton在C#中检查的正确方法是什么?

参见英文答案 > Which Radio button in the group is checked?10个
我想知道是否有正确的方式阅读RadioButton,从一个GroupBox检查.到目前为止,我将按照每个GroupBox创建一些这样的线条.
private int checkRadioButton() {
        if (radioButtonKwartal1.Checked) {
            return 1;
        } else if (radioButtonKwartal2.Checked) {
            return 2;
        } else if (radioButtonKwartal3.Checked) {
            return 3;
        } else if (radioButtonKwartal4.Checked) {
            return 4;
        }
        return 0;

    }

编辑:有一些很好的答案,但知道哪个radioButton被按下是一回事,但知道附加的返回值是第二.我该如何实现呢?上面的代码让我得到返回值,然后我可以在程序中使用.

解决方法

你可以使用LINQ
var checkedButton = container.Controls.OfType<RadioButton>().Where(r => r.IsChecked == true).FirstOrDefault();

这假设您将所有单选按钮直接放在同一个容器中(例如Panel或Form),容器中只有一个组.

否则,您可以在每个组的构造函数中创建List< RadioButton>,然后写入list.FirstOrDefault(r => r.Checked)

Which Radio button in the group is checked?

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...