2012-04-03 37 views
1

我對代碼中的Google查詢感到沮喪,所以我只會問你所有的專家。如果兩個複選框都標記爲false嗎?

我有一個< 500行程序,列出清除樹中的文件現在我想單擊它們並檢查它們進/出。結賬部分我可以通過命令行或插件完成(:: whew :: clearcase不容易編程)無論如何,我必須選中checkbox one for checkout,如果兩個都沒有被選中(兩個都是false),我希望它通知用戶。我有以下代碼,它的工作原理...除了它總是顯示「未選中」消息,因爲一個標誌總是爲false。

if (checkBox1.checked == true 
{ 
    MessageBox.Show("this") 
} 
if (checkBox2.checked == true 
{ 
    MessageBox.Show("THAT") 
} 
if (checkbox1.checked == false | checkbox2.checked == false) 
{ 
    MessageBox.show("You didn't select this or THAT") 
} 

的第一選擇後,它總是說「那個」或「本」,那麼「你沒有選擇這樣或那樣的」

我也有複選框的設置,這樣當你選中一個它取消選中另一方面,但兩者都可能是假的。

+0

嘗試嵌套最後的if語句? – simchona 2012-04-03 20:11:08

+1

這裏沒有實際的問題。 – 2012-04-03 20:13:02

+0

和你的| (或)應該是&(和) – 2012-04-03 20:13:23

回答

6

您要檢查,他們都是假的,那是一個邏輯與完成。垂直條代表OR條件。

if (checkbox1.checked == false && checkbox2.checked == false) 
{ 
    MessageBox.show("You didn't select this or THAT") 
} 

這應該做你正在尋找的東西。

+0

這就是TYVM!我知道這會很簡單,我不確定如何在谷歌中正確地查詢這些內容,所以非常感謝您爲我節省了許多令人沮喪的通過無關代碼搜索的時間。 – xSCM 2012-04-03 20:15:27

1

嘗試

if (checkBox1.checked == true) 
{ 
    MessageBox.Show("this") 
} 
else if (checkBox2.checked == true) 
{ 
    MessageBox.Show("THAT") 
} 
else 
{ 
    MessageBox.show("You didn't select this or THAT") 
} 

或更好:

if (checkBox1.checked) 
{ 
    MessageBox.Show("this") 
} 
else if (checkBox2.checked) 
{ 
    MessageBox.Show("THAT") 
} 
else 
{ 
    MessageBox.show("You didn't select this or THAT") 
} 
1

使用if-else語句而不是if語句。這樣它會在執行第一條語句後停止。

1
if (checkBox1.checked) 
{ 
    MessageBox.Show("this") 
} 
else if (checkBox2.checked) 
{ 
    MessageBox.Show("THAT") 
} 
else 
{ 
    MessageBox.show("You didn't select this or THAT") 
} 
1

什麼

(checkbox1.checked == false & checkbox2.checked == false) 

垂直線或在符號是AND

相關問題