2012-04-16 41 views
0

我只是試圖檢查三個無線電盒中的一個已被檢查,因爲某些原因,即使在調試控制檯中的所有盒子'.Selected = false'仍然跳過我的錯誤消息。任何幫助表示讚賞。驗證無線電盒

if ((rdoIndoor.Checked = false) && (rdoOut.Checked = false) && (rdoSwimming.Checked = false)) 
     { 
      MessageBox.Show("Please select an event style"); 

     } 
+1

我覺得簡單的語法錯誤。將'='替換爲'==' – 2012-04-16 20:40:13

+3

您使用賦值運算符是一回事,但您也可以(!rdoIndoor.Checked)而不是== false – Oztaco 2012-04-16 20:40:46

回答

6

您正在使用賦值運算符而不是比較運算符。 =運營商用於分配。使用==進行比較。

更重要的是,獲得完全擺脫你==運營商,並使用!運營商,像這樣:

if (!rdoIndoor.Checked && !rdoOut.Checked && !rdoSwimming.Checked) 
{ 
    MessageBox.Show("Please select an event style"); 
} 
+0

當然是了,謝謝。 :) – Wizard 2012-04-16 20:40:39

2

等於運算符,用於比較值,是== 所以,你的代碼應該是:

if ((rdoIndoor.Checked == false) && 
    (rdoOut.Checked == false) && 
    (rdoSwimming.Checked == false)) 
...... 
1

使用雙等於符號(rdoIndoor.Checked **==** false)等 單'='表示分配,即i。即從現在開始讓'rdoIndoor.Checked'爲假。 Double'=='是邏輯測試。 你可能知道;)

+0

我確實這樣做了,雖然會讓我花費更多的時間去解決問題。 – Wizard 2012-04-16 20:51:33