2016-02-26 74 views
0

我想知道是否在button_click事件中执行了一个语音按钮选择语句,但我不知道该怎么做。我想要这样,但它不起作用。显示在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 
     } 

    } 

如果我放在单选CheckChanged事件是工作,但我想在button_Click事件。我发现和研究很多,但我仍然找不到解决方案。

回答

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? 
} 
+0

感谢yup它显示..但是,一旦我把这一行内的if(radioButton1.Checked == true)它不显示。 –

+0

@NareenNair看到我的编辑 – Sakura

+0

先生很抱歉的回复,我的互联网不工作..所以我不得不等待......并打电话给客户服务,他们重置我的连接,这是我迟到了。我为此道歉。先生,我试了一下,结果是点击按钮,然后是真的,然后是错误的。 –

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 
    } 
} 
+0

谢谢,但我没有将它们分组在一起。 –