C#使用List将图像添加到图片框中

时间:2016-11-29 02:35:15

标签: c# image winforms list picturebox

首先,对不起我的英语。

我正在制作一个有大约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个盒子?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果这是WinForms,您可以使用ControlCollection.Find按名称获取控件 - 假设您的每个pictureboxN控件都具有匹​​配的.Name属性值。

e.g。

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