C# 使用 List 将图像添加到图片框
C# Add image to pictureboxes with List
首先,对不起我的英语。
我正在制作一个包含大约 60 个图片框的程序。 (pictureBox1, pictureBox2, pictureBox3, 直到 pictureBox60)
我有一个包含 60 个字符串的列表。 (不同图片的网址)
我想让 pictureBox1 加载列表[0],让 pictureBox2 加载列表[1],等等。
但我意识到我无法做到以下几点:
for (int i = 0; i < Bans.Count; i++)
{
this.pictureBox + i = this.Bans[i]; //Can't be done..
}
有没有不需要我手动设置所有60个框的解决方案?
谢谢!
如果这是 WinForms,您可以使用 ControlCollection.Find
按名称获取控件 - 假设每个 pictureboxN
控件都有匹配的 .Name
属性 值。
例如
pictureBox23.Name = "pictureBox23";
像这样:
for( int i = 0; i < this.Bans.Count; i++ ) {
String pictureBoxName = "pictureBox" + i.ToString(CultureInfo.InvariantCulture);
Control[] matchingPictureBoxes = this.Controls.Find( pictureBoxName, searchAllChildren: true );
if( matchingPictureBoxes.Length == 1 ) {
PictureBox pictureBox = (PictureBox)controls[0];
pictureBox.Image = this.Bans[i];
}
}
首先,对不起我的英语。
我正在制作一个包含大约 60 个图片框的程序。 (pictureBox1, pictureBox2, pictureBox3, 直到 pictureBox60)
我有一个包含 60 个字符串的列表。 (不同图片的网址)
我想让 pictureBox1 加载列表[0],让 pictureBox2 加载列表[1],等等。
但我意识到我无法做到以下几点:
for (int i = 0; i < Bans.Count; i++)
{
this.pictureBox + i = this.Bans[i]; //Can't be done..
}
有没有不需要我手动设置所有60个框的解决方案?
谢谢!
如果这是 WinForms,您可以使用 ControlCollection.Find
按名称获取控件 - 假设每个 pictureboxN
控件都有匹配的 .Name
属性 值。
例如
pictureBox23.Name = "pictureBox23";
像这样:
for( int i = 0; i < this.Bans.Count; i++ ) {
String pictureBoxName = "pictureBox" + i.ToString(CultureInfo.InvariantCulture);
Control[] matchingPictureBoxes = this.Controls.Find( pictureBoxName, searchAllChildren: true );
if( matchingPictureBoxes.Length == 1 ) {
PictureBox pictureBox = (PictureBox)controls[0];
pictureBox.Image = this.Bans[i];
}
}