这可能是一个愚蠢的问题,因为我可能会完全向后解决该问题,但是我试图在Windows Forms Application中显示一组图像。从API提取图像,获取它们的URL没问题。我遇到的问题实际上是根据下载的图像数量将它们显示在一张桌子或一组图片框中。所有图像的尺寸都相同,我只需要一种显示它们的方法。

图片框很容易,pictureBox1.Load(Image_URL);,但是当我需要根据实际需要下载的图像数量创建更多图片框时,就会出现问题。

还有其他方法可以显示图像而不知道需要显示多少图像吗?
我是否需要动态创建图片框并分别显示每个URL?我完全被这个困扰。

最佳答案

我认为动态创建图片框的最简单方法是DataRepeater,您可以在工具箱的Visual Basic PowerPacks节点下找到它。这是将其用于图像显示的示例:DataRepeater Control for Windows Forms

这是显示本地文件夹中图像的示例。将DataRepeater控件放在窗体上。然后将PictureBox和Label放在刚刚添加的DataRepeater上:

string path = @"D:\";
var query = from f in Directory.GetFiles(path, "*.jpg")
            select new { Path = f, FileName = Path.GetFileName(f) };

var files = query.ToList();
pictureBox1.DataBindings.Add("ImageLocation", files, "Path");
label1.DataBindings.Add("Text", files, "FileName");
dataRepeater1.ItemHeaderVisible = false; // to hide headers
dataRepeater1.DataSource = files;


而已。找到的所有图像将显示。

关于c# - 如何在Windows窗体应用程序中显示图像而又不知道需要显示的图像数量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18031668/

10-12 00:27
查看更多