如何在不使用if子句的情况下获取所选单选按钮的文本?

时间:2018-06-17 13:25:11

标签: c# events

我有一个带有可变大量单选按钮(50+)的Windows窗体应用程序。 我有一个所有单选按钮的事件处理程序:

private void RadioButton_CheckedChanged(object sender, EventArgs e)
{
    if(sender == (RadioButton)radioButton1)
    {
         selectedItem = radioButton1.Text;
    }
    else
    {
         selectedItem = radioButton2.Text;
    }
}

这适用于两个收音机按钮。 如何在不使用if子句的情况下获取所选单选按钮的文本? 谢谢你提前, 保罗

1 个答案:

答案 0 :(得分:2)

像这样;但您还需要检查它是否为checked,因为在取消选中单选按钮时会触发事件,see

private void RadioButton_CheckedChanged(object sender, EventArgs e)
{
    //cast and store for future use.
    var senderRadioButton = (RadioButton)sender; 

    //check if sender is checked
    if (senderRadioButton.Checked)
        selectedItem = senderRadioButton.Text;

    //else
}

确保将所有已更改的事件连接到此处理程序。