如何从组合框中选中哪个单选按钮?

Co.*_*den 14 c# windows-forms-designer

我有这些组框:

在此输入图像描述

我想根据检查的单选按钮的真实状态运行一些代码,如:

string chk = radiobutton.nme; // Name of radio button whose checked is true
switch(chk)
{
    case "Option1":
        // Some code
        break;

    case "Option2":
        // Some code
        break;

    case "Option3":
        // Some code
        break;
}
Run Code Online (Sandbox Code Playgroud)

有没有直接的方法,所以我只能得到已选中的单选按钮的名称?

Son*_*nül 33

你可以找到所有选中的RadioButtons

var buttons = this.Controls.OfType<RadioButton>()
                           .FirstOrDefault(n => n.Checked);
Run Code Online (Sandbox Code Playgroud)

另外看看 CheckedChanged活动.

Checked属性的值更改时发生.

  • 对于通用Windows应用程序有一些麻烦,因为`Windows.UI.Xaml.Controls.Page`在那里没有`Controls`属性,所以最好使用一些封装的WPF元素,比如名为`StackPanel`或`Grid `和`Children`属性:`rbPanel.Children.OfType <RadioButton>().FirstOrDefault(r => r.IsCheked.Value);`(`IsChecked`可以为空,因此`.Value`) (3认同)

小智 6

groupbox1.Controls.OfType<RadioButton>().FirstOrDefault(r => r.Checked).Name
Run Code Online (Sandbox Code Playgroud)

这将获得选中单选按钮的名称。如果你想稍后使用它,你可以通过存储到变量来存储它的名称。

干杯