我想使用这样的字符串值
Random rnd = new Random();
int x= rnd.Next(1, 10);
string ime = "pictureBox" + x.ToString();
ime.BackColor = Color.CornflowerBlue;
但这不起作用
我想使用这样的字符串值
Random rnd = new Random();
int x= rnd.Next(1, 10);
string ime = "pictureBox" + x.ToString();
ime.BackColor = Color.CornflowerBlue;
但这不起作用
你真的不想使用这样的字符串。您想获得一个具有该名称的控件并像这样使用它。您可以按名称获取控件,如下所示:
var pictureBox = myForm.Controls[ime];
以下代码应该适合您,
Random rnd = new Random();
int x= rnd.Next(1, 10);
string ime = "pictureBox" + x.ToString();
((PictureBox)frm.Controls.Find(ime ,true)[0]).BackColor = Color.CornflowerBlue;
不要生成随机名称并使用它来查找具有该名称的图片框,而是直接选择一个随机图片框:
Random rnd = new Random();
var pictureBoxes = frm.Controls.OfType<PictureBox>().ToArray();
var randomPictureBox = pictureBoxes[rnd.Next(pictureBoxes.Length)];
randomPictureBox.BackColor = Color.CornflowerBlue;