for (int i = 1; i < 3; i++)
{
int randomSpeed = RandomNumber(2, 10);
"apa" + i.Left -= randomSpeed;
}
看看"apa" + i.Left -= randomSpeed;
这是错误的。
我有PictureBox,名称为apa1,apa2和apa3。
我想设置名称的左侧apa + i
如何在每个循环中将Left设置为随机速度?
答案 0 :(得分:4)
由于您拥有有限数量的控件,它可能更容易做到:
foreach (var control in new[] { apa1, apa2, apa3 })
{
int randomSpeed = RandomNumber(2, 10);
control.Left -= randomSpeed;
}
答案 1 :(得分:3)
您必须将它们放入数组中。加int
s没有left
属性。
PictureBox[] apas = new PictureBox[] { apa1, apa2, apa3 };
for (int i = 0; i < apas.Length; i++)
{
int randomSpeed = RandomNumber(2, 10);
apas[i].Left -= randomSpeed;
}
答案 2 :(得分:2)
您想要更改名为(“apa”+ i)的控件的Left
属性,对吗?
你可以Find
控件:
(PictureBox)this.Controls.Find("apa" + i, true)[0].Left -= randomSpeed
不要忘记添加错误检查。