如何在C#Windows窗体中制作可滚动的图像列表

本文关键字:滚动 图像 列表 C#Windows 窗体 | 更新日期: 2024-10-24 17:17:56

我需要创建网页上图片的缩略图列表。我也想添加复选框,使缩略图可以选择。我正在尝试将图片从URL加载到ListBox

// from form design file:
System.Windows.Forms.ListBox listBoxPictures;
// from main file
foreach (Photo albumPhoto in album.Photos)
{
  PictureBox albumsImg = new PictureBox();
  albumsImg.LoadAsync(albumPhoto.URL); // URL is string
  CheckBox selectedPhotoCheckBox = new CheckBox();
  listBoxPictures.Items.Add(albumsImg);
  listBoxPictures.Items.Add(selectedPhotoCheckBox);
}

它不起作用,ListBox中没有显示任何图像。我做错了什么?如何在C#Windows窗体中制作可滚动的图像列表?

如何在C#Windows窗体中制作可滚动的图像列表

问题是您必须等待图片的加载完成

private void button1_Click(object sender, EventArgs e)
    {
        //make your loop here
        pictureBox1.WaitOnLoad = false;
        pictureBox1.LoadCompleted += new AsyncCompletedEventHandler(pictureBox1_LoadCompleted);
        pictureBox1.LoadAsync(albumPhoto.URL);
    }
    void pictureBox1_LoadCompleted(object sender, AsyncCompletedEventArgs e)
    {
        //now your picture is loaded, add to list view
         CheckBox selectedPhotoCheckBox = new CheckBox();
         listBoxPictures.Items.Add(albumsImg);
         listBoxPictures.Items.Add(selectedPhotoCheckBox);
    }