對,在Windows窗體中,我創建了一個包含100個圖片框的網格。點擊一個圖片框後,它會變成綠色,如果再次點擊它將會回到初始顏色。重新使用for循環中的對象名稱?
爲了保存這些我已經把每個圖片框狀態放入一個布爾數組[100]。這些將使用序列化保存在XML中。 (如果綠色則爲true,如果爲白色則爲false(默認))。
加載時我需要使用bool數組並定義每個picturebox的狀態。圖片框的名稱是pictureBox1,pictureBox2,pictureBox3等 有沒有一個方便的方法來做到這一點?
也許你可以這樣更好地瞭解我:
for (int i = 0; i < 100; i++) {
if (pictureBoxes[i] == true) //pictureBoxes[] is the bool[] loaded
{
**pictureBox+i** .BackColor== System.Drawing.Color.LawnGreen;
}
else if (pictureBoxes[i] == false)
{
//System.Drawing.Color.White;
}
}
這個例子不工作;請幫忙?
您不應該使用設計器創建圖片框,而是在表單的構造函數(或Load事件)中使用for循環。然後你可以將它們全部存儲在一個圖片框數組中,並像'pictureBoxControls [i]'一樣訪問它。 – Justin 2011-03-21 18:24:52
爲什麼不使用背景顏色作爲「布爾」?即。 'if(picturebox [i] .BackColor == System.Drawing.Color.LawnGreen){'(請參閱如何實際獲取對象的答案。) – 2011-03-21 18:29:59