c# 急 一个简单问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 17:46:14
我想检查10个picturebox中哪个背景为空,但是
for (int i = 1; i <= 10; i = i + 1)
{
if (pictureBox(i).Blackcolor == null)
pictureBox(i).Image = null;
}
是行不通的,怎么才能表示我想检查的pictureBox(i)呢?初学
FindControl这一段报错 说不包含这个控件

不管你窗体有多少个picutreBox控件,也不管起什么名字,下面这段程序都适用。
还有Blackcolor为空的话,不应该用==null

for (int i = 0; i < this.Controls.Count; i++)//查找窗体上所有控件
{
Control cc = this.Controls[i];
if (cc is PictureBox)//如果控件是pictureBox
{
PictureBox c = (PictureBox)cc; //强制转换成pictureBox类型
if (c.BackColor == Color.Empty)//如果控件的颜色是null
{
c.Image = null;//把控件显示的图象设置成null
}
}
}

pictureBox如何命名的?pictureBox1,pictureBox2,pictureBox3这样吗?

for (int i = 1; i <= 10; i = i + 1)
{
if (this.Controls.FindControl("pictureBox"+i).Blackcolor == null)
this.Controls.FindControl("pictureBox"+i).Image = null;
}

pictureBox如何命名的?pictureBox1,pictureBox2,pictureBox3这样吗?

for (int i = 0; i < 10; i++)
{
if (this.Controls.FindControl("pictureBox"+i)!=null && this.Controls.FindControl("pictureBox"+i).Blackcolor == null)
this.Controls.FindControl("pi