2017-04-23 87 views
0

我在Visual Studio 2013中遇到问题。我有72个图片框。我有一个变量名为代码,它需要一个像13的随机数。现在我想改变pictureBox 的背景颜色。但我不想为它做一个长的开关盒。我只想要像通过视觉对象迭代

for(int i=0;i<73;i++) 
    pictureBox + code.BackColor = Color.Brown; 

这可能吗?

+0

这是一个WinForm应用程序?或者WPF还是? – Steve

+0

WinForm,对不起。提及 –

回答

0

需要任何环路(至少没有环路由你写的),但单线可以返回所需的盒

string name = "pictureBox" + randomNumber.ToString(); 
PictureBox p = this.Controls.OfType<PictureBox>() 
          .FirstOrDefault(x => x.Name == name) 
p.BackColor = yourColor; 
+0

谢谢!这样的作品,但如果我有一个用户控件中的图片框应该让它像字符串名称=“usercontrol1.pictureBox”+ randomNumber.ToString(); ? –

+0

你有73个包含73个图片框的用户控件吗?或只有一个用户控制73个图片框? – Steve

+0

只有一个包含72个图片框的用户控件 –