对,在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