C# VS2010 如何PICTUREBOX 设置索引,达到通过索引对相应的pictureBox进行操作的功能

2024-11-11 23:20:01
推荐回答(2个)
回答1:

如果你仅仅只是想要bringtofront,可以直接用

foreach(Control c in this.Controls)

                if (c is PictureBox)

                {

                    c.BringToFront();

                }


如果想用索引访问方法很多,比如说在formload的时候(当然以下仅仅是方法之一,你也可以在设计时不去绘制picturebox,而是在代码中动态生成这些控件,然后放到数组中就简单了)

PictureBox[] pb = new PictureBox[15];
for(int i=0;i<15;i++)
{
object o=FindControlbyName("pictureBox"+i);
if(o!=null) pb[i]=(PictureBox)o;
}
//之后就可以用pb[0]这种来访问相应的pictruebox了
private object FindControlbyName(string name)
{
object o;
o = this.GetType().GetField(name, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(this);
if (o != null)
{
return o;
}
return null;
}

回答2:

根据我的了解,winform没有根据tabIndex获得这个控件的方法。只能循环了
上面的说了这么多,还是要循环,还是要循环15次,甚至不只15次。