2016-02-26 72 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

謝謝,但我沒有將它們分組在一起。 –