在我的项目中,我收集了PictureBoxes和一个填充的ImageList。我想使用foreach
循环使用ImageList中的每个Image填充每个pictureBox。我知道如何使用For循环,但我不知道如何使用foreach循环。我只是出于知识目的而要求这样做。我认为这可以使用Linq内部的foreach循环来实现,但我是初学者,所以我不知道该怎么做。
我在for循环中尝试了以下代码:
for (intimgcount = 0; intimgcount < intMaxPics; intimgcount++)
{
pbxCollection[intimgcount].Image = imglst.Images[intimgcount];
}
我想在foreach
循环中使用的代码是:
var pbxCollection = new List<PictureBox>(); //PictureBox collection
编辑:如何在表格中设置Picture Box集合的位置?
我试过了:
var i = 0;
foreach (var pbx in pbxCollection)
{
pbx.Image = imglst.Images[i++];
//set location:
pbx.Width = 100;
pbx.Height = 100;
pbx.Location = new Point(0, pbx.Height * i);
//add to form:
this.Controls.Add(pbx);
}
答案 0 :(得分:0)
你可以这样做。
var pbxCollection = new List<PictureBox>();
foreach (Image img in imglst.Images)
{
PictureBox pb = new PictureBox();
pb.Image = img;
pbxCollection.Add(pb);
}
答案 1 :(得分:0)
使用变量来增加集合索引:
var i = 0;
foreach (var pbx in pbxCollection)
{
pbx.Image = imglst.Images[i++];
//set location:
pbx.Location = new Point(0, pbx.Image.Height * i);
//add to form:
this.Controls.Add(pbx);
}