我试图连续显示图像..为此我试图动态添加图片框。图像位置存储在数据库中。我的代码是
int iCtr = 0;
for (int i = 0; i < dt.Rows.Count; i++)
{
PictureBox picture = new PictureBox
{
Name = "pictureBox"+i,
Size = new Size(316, 320),
Location = new Point(1, iCtr * 1100 + 1),
Visible = true
};
// string fname = dt.Rows[2]["FileName"].ToString();
picture.ImageLocation = dt.Rows[i]["FileName"].ToString();
//@"..\Images\80knhk00003.jpg";
pnlDisplayImage.Controls.Add(picture);
iCtr++;
}
其中dt是可数据的。
有了这个我只能看到最后一张图片而不是所有图片。即使最后一张图像非常小,也没有显示完整的图像(即我只能查看实际图像的一个角落)。
如何为图像添加尺寸以便可以完全查看? 如何在行中显示图像?
请帮忙 感谢
答案 0 :(得分:3)
List<PictureBox> pictureBoxList = new List<PictureBox>();
for (int i = 0; i < dt.Rows.Count; i++)
{
PictureBox picture = new PictureBox
{
Name = "pictureBox" + i,
Size = new Size(316, 320),
Location = new Point(i * 316, 1),
BorderStyle = BorderStyle.FixedSingle,
SizeMode = PictureBoxSizeMode.Zoom
};
picture.ImageLocation = dt.Rows[i]["FileName"].ToString();
pictureBoxList.Add(picture);
}
foreach (PictureBox p in pictureBoxList)
{
pnlDisplayImage.Controls.Add(p);
}
答案 1 :(得分:-1)
而不是Image属性,将BackGroundImage属性设置为您的图片位置,然后将BackGroundImageLayout设置为值“Stretch”,然后您将看到完整图像。