【发布时间】:2012-11-07 05:27:59
【问题描述】:
在我的项目中,我收集了图片框和填充的 ImageList。我想使用foreach Loop 用 ImageList 中的每个图像填充每个图片框。我知道如何使用 For 循环,但我不知道如何使用 foreach 循环。我问这个只是为了知识目的。我认为这可以在 foreach 循环中使用 Linq 来实现,但我是初学者,所以我不知道该怎么做。
我在 for 循环中尝试了以下代码:
for (intimgcount = 0; intimgcount < intMaxPics; intimgcount++)
{
pbxCollection[intimgcount].Image = imglst.Images[intimgcount];
}
我想在foreach循环中使用的代码是:
var pbxCollection = new List<PictureBox>(); //PictureBox collection
编辑:如何在表单中设置图片框集合的位置?
我试过了:
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);
}
【问题讨论】:
-
如果你确实需要一个“i”,你可能最好使用 for 循环。
-
@Carra 不,我不需要“i”(如果不需要的话),它只是在看到答案后进行编辑。我只需要一个我认为我得到的 foreach 循环中的答案,但我不知道如何在表单中设置 PictureBox 的位置。例如 --> 10 个图片框,5 个顶部和 5 个底部。
-
使用表格布局并将图片框添加到其控件中。
-
@Carra 我需要动态地执行此操作(一切)。我不知道。无论如何,我找到了诀窍。诀窍是首先使用所需的控件设计您的表单并参考 program.cs :)
-
很高兴看到它有效。您可以通过代码将控件添加到表格布局中,只需将其添加到其控件中即可。如果您想将它们分成两列或更多列,那就更容易了:)
标签: c# .net winforms picturebox imagelist