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];
    }
}