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

Mad*_*Boy 10 c# c#-4.0

我想知道是否有任何正确的方法来读取从一个GroupBox检查的RadioButton.到目前为止,我将根据每个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;

    }
Run Code Online (Sandbox Code Playgroud)

编辑:有一些好的好答案,但知道哪个radioButton被按下是一回事,但知道附加到它的返回值是第二.我怎样才能做到这一点?上面的代码让我得到返回值,然后我可以在程序中使用.

Pri*_*ank 12

您可以使用LINQ

var checkedButton = container.Controls.OfType<RadioButton>().Where(r => r.IsChecked == true).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

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

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

检查组中的哪个单选按钮?

  • -1如果你要复制别人的答案,你应该承认他们的工作并以某种方式建立它.http://stackoverflow.com/questions/1797907/which-radio-button-in-the-group-is-checked (4认同)