显示是否在button_click事件中选择了单选按钮

时间:2016-02-26 12:32:37

标签: c# visual-studio radio-button

我想知道,如果选择一个语句的redio按钮将在button_click事件中执行,但我不知道我该怎么做。我希望像这样,但它不起作用。

    private void butto1_Click (object sender, EventArgs e)
    {
        if (radioButton1.Checked == true)
        {
            MessageBox.Show ("radibutton1 selected");
            // execute other statement
        }

        else if (radioButton2.Checked == true)
        {
             MessageBox.Show ("radibutton2 selected");
            // execute other statement
        }

    }

如果我置于radiobutton CheckChanged事件中它正在工作,但我想在button_Click事件中。我找到并研究了很多,但仍然无法找到解决方案。

2 个答案:

答案 0 :(得分:1)

你能把下面的一行检查一下吗?如果不是,则不要将按钮的点击事件设置为此功能:

private void butto1_Click (object sender, EventArgs e)
{
     MessageBox.Show ("Button Clicked!");

     // And this two line:
     MessageBox.Show(radioButton1.Checked.ToString()); // true or false?
     MessageBox.Show(radioButton2.Checked.ToString()); // true or false?
}

答案 1 :(得分:0)

如果单选按钮位于组中,即在面板中分组,则可以使用简单的Linq语句查找已选中的单选按钮。

var radioChecked = panel.Controls.OfType<RadioButton>().FirstOrDefault(r => r.Checked);    

您只需

即可返回所有已检查单选按钮的列表
var radioCheckedList = yourForm.Controls.OfType<RadioButton>().Where(r => r.Checked).ToList(); 
foreach(var radio in radioCheckedList)
{
    if (radio.Name == "radio1")
    {
        // display something
    }

    else if (radio.Name == "radio2")
    {
        // display somnething
    }
}