2014-01-21 176 views
0

我有下面的代碼。單擊按鈕陣列中的按鈕

public void WepaonEquip(Object sender, System.EventArgs e) 
{ 
if (button[0].BackColor == Color.Beige) 
{ 
    button[0].BackColor = Color.OrangeRed; 
} 

else if (button[1].BackColor == Color.Beige) 
{ 
    button[1].BackColor = Color.OrangeRed; 
} 

else if (button[2].BackColor == Color.Beige) 
{ 
    button[2].BackColor = Color.OrangeRed; 
} 
} 

包含這段代碼的類中的代碼生成一個按鈕數組。我想要的是用戶將點擊一個按鈕,點擊按鈕的顏色將會改變。

但是,當用戶點擊時,可以說,第三個按鈕,第一個按鈕在數組中改變顏色,而不是一個點擊。任何想法爲什麼這不起作用?我相信代碼的邏輯起作用,也許我錯過了一些東西。

回答

3

將面板中的每個按鈕設置爲使用相同的Click事件處理程序。在處理程序中投發件人作爲一個按鈕,改變顏色

假設WeaponEquip是單擊事件處理程序按鈕,它會是這個樣子:

public void WepaonEquip(Object sender, System.EventArgs e) 
{ 
    Button clickedbutton = (Button)sender 
    clickedbutton.BackColor = Color.OrangeRed; 

} 
+0

對不起,PANEL1是文不對題,生病採取關閉 – user3170251

+0

沒關係,這個概念仍然適用於你想處理的任何按鈕。 – tinstaafl

+0

好吧,我將它們添加到一個點擊事件中,但沒有任何更改,請參閱上面的編輯代碼 – user3170251