如何获得单选按钮所选项目的文本?

pur*_*ppc 0 c# radio-button

这是我的单选按钮

Runescape
Maplestory
League
Run Code Online (Sandbox Code Playgroud)

所以这是我当前的方法,它运行得很好。

private void button1_Click(object sender, EventArgs e)
{
    if (radioButton1.Checked)
    {
        MessageBox.Show("You are playing Runescape.");
    }

    else if (radioButton2.Checked)
    {
        MessageBox.Show("You are playing Maplestory.");
    }

    else if (radioButton3.Checked)
    {
        MessageBox.Show("You are playing League.");
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以像组合框一样打印出SelectedItem。基本上是单选按钮的文本。

组合框版本:

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("You are playing " + comboBox1.SelectedItem);
}
Run Code Online (Sandbox Code Playgroud)

与此类似的东西(不确定是否可能)。

MessageBox.Show("You are playing " + RadioButton.SelectedItem);
Run Code Online (Sandbox Code Playgroud)

Sud*_*udi 5

您可以使用的Text 属性RadioButton

private void button1_Click(object sender, EventArgs e)
    {
        if (radioButton1.Checked)
        {
            MessageBox.Show("You are playing "+radioButton1.Text);
        }

        else if (radioButton2.Checked)
        {
            MessageBox.Show("You are playing Maplestory "+"+radioButton2.Text);
        }

        else if (radioButton3.Checked)
        {
            MessageBox.Show("You are playing League "+"+radioButton3.Text);
        }
    }
Run Code Online (Sandbox Code Playgroud)

解决方案2: 没有SelectedItem可供RadioButton控制的属性。

但您可以创建一个function将返回Name所选的的RadioButton

尝试这个:

    private String getSelectedRadioButtonName()
     {
            foreach (Control c in groupBox1.Controls)
            {
                if (c is RadioButton && ((RadioButton) c).Checked==true)
                {
                    return c.Text;
                }
            }
            return "No Game";
      }
    private void button1_Click(object sender, EventArgs e)
    {

            MessageBox.Show("You are playing "+getSelectedRadioButtonName());
    }
Run Code Online (Sandbox Code Playgroud)