【发布时间】:2013-08-12 21:26:11
【问题描述】:
我需要在表单中显示 100 个图像,一个在另一个之下。
我遵循以下想法:
在表单中添加了一个面板,并在代码中添加了 100 个图片框,并为每个图片框分配了我拥有的图像。
现在的问题是我只能看到 32 个图片框。
为什么?任何属性都需要更新...?
下面是我的代码:
List<int> bottomlist = new List<int>();
for (int i = 0; i < 100; i++)
{
PictureBox pic = new PictureBox();
Image img = //I get image by some code here//
pic.Image = img;
pic.Size = img.Size;
if (i == 0)
bottomlist.Add(pic.Bottom + 8);
else
bottomlist.Add(pic.Bottom + bottomlist[i - 1] +8);
if (i == 0)
pic.Top = 8;
else
{
pic.Top = bottomlist[i - 1] + 8;
}
pic.Left = (panel1.ClientSize.Width - pic.Width) / 2;
panel1.Controls.Add(pic);
}
【问题讨论】:
-
我认为它与记忆有关
-
@developerCoder-- 好的,当我向下滚动时,我会尝试清除顶部的图像。
-
你的两个 if 都在 i==0 上,为什么不合并它们
-
您是否在面板中启用了自动滚动?
-
@Sayse 是的,我保留了一个断点并检查了......它迭代了 100 次
标签: c# winforms image panel picturebox