Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将图像从url添加到listview项目_C#_Winforms - Fatal编程技术网

C# 将图像从url添加到listview项目

C# 将图像从url添加到listview项目,c#,winforms,C#,Winforms,我使用了picturebox函数Load pictureBox1.Load(linkSlike),但现在我想把这个图片添加到listview项目中,我不知道如何从url加载它 for (int j = 0; j < Stan.listaStanova.Count; j++) { listView1.Items.Add(Stan.listaStanova[j].ToString(),Stan.listaStanova[j].l

我使用了picturebox函数Load pictureBox1.Load(linkSlike),但现在我想把这个图片添加到listview项目中,我不知道如何从url加载它

for (int j = 0; j < Stan.listaStanova.Count; j++)
        {
                         listView1.Items.Add(Stan.listaStanova[j].ToString(),Stan.listaStanova[j].linkSlike);                         
        }
for(int j=0;j
步骤1-下载图像

WebClient wc = new WebClient();
byte[] bytes = wc.DownloadData(Stan.listaStanova[j].linkSlike);
MemoryStream ms = new MemoryStream(bytes);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
ms.Dispose();
步骤2-将图像添加到图像列表

ImageList Imagelist = new ImageList(); // SHOULD BE DECLARED AT FORM LEVEL
imagelist.Images.Add(img);
步骤3-将列表视图指定给图像列表

listView1.LargeImageList = Imagelist;
listView1.SmallImageList = Imagelist;
步骤4-对于给定的列表视图项(假设第一个,分配ImageIndex)。ImageIndex是指在列表视图的image list属性中查找图像的数组中的位置。在本例中,我们说的是,对于listview的第一项,分配第一个图像的索引

listView1.Items[0].ImageIndex = 0; 
把它们放在一起(同样,图像列表应该在表单级别声明,所以在示例中不声明:

listView1.LargeImageList = Imagelist;
listView1.SmallImageList = Imagelist;

for (int j = 0; j < Stan.listaStanova.Count; j++)
{

     WebClient wc = new WebClient();
     byte[] bytes = wc.DownloadData(Stan.listaStanova[j].linkSlike);
     MemoryStream ms = new MemoryStream(bytes);
     System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
     imagelist.Images.Add(img);
     ms.Dispose();

     // IN THIS CASE, WE'RE ASSUMING EACH LIST ITEM HAS A DISTINCT IMAGE
     // SO COUNT OF IMAGE COLLECTION IS SAME AS LISTVIEWITEMCOLLECTION
     // SO IMAGEINDEX PROPERTY IS ALWAYS THE J
     listView1.Items.Add(Stan.listaStanova[j].ToString(),j);                         
}
listView1.LargeImageList=Imagelist;
listView1.SmallImageList=Imagelist;
for(int j=0;j
您的目标是什么:Winforms、WPF、ASP..?始终正确标记您的问题!-将其添加到ImageList并设置ilstview的大图像列表。请注意,所有大小必须相同。ans
MemoryStream
应使用块在
中声明(或无论如何处置)。然后,您可以:
ImageList.Images.add(新位图(ms));
,因为
位图的一个可能来源是
流(即
Image.FromStream(ms)
),我添加了dispose@Jimi