我想使用字符串值 像这样
Random rnd = new Random();
int x= rnd.Next(1, 10);
string ime = "pictureBox" + x.ToString();
ime.BackColor = Color.CornflowerBlue;
但这不起作用
答案 0 :(得分:2)
你真的不想使用这样的字符串。您希望获得具有该名称的控件并像这样使用它。您可以通过以下名称获得控件:
var pictureBox = myForm.Controls[ime];
答案 1 :(得分:1)
以下代码应该适合您,
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;
答案 2 :(得分:0)
不是生成随机名称而是使用它,而是找到具有该名称的PictureBox,直接选择一个随机的PictureBox:
Random rnd = new Random();
var pictureBoxes = frm.Controls.OfType<PictureBox>().ToArray();
var randomPictureBox = pictureBoxes[rnd.Next(pictureBoxes.Length)];
randomPictureBox.BackColor = Color.CornflowerBlue;