如果你仅仅只是想要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;
}
根据我的了解,winform没有根据tabIndex获得这个控件的方法。只能循环了
上面的说了这么多,还是要循环,还是要循环15次,甚至不只15次。