如何从 URL 加载图像,然后将其放入 DataGridView 的单元格(而不是列标题)?包含图像的行将在运行时基于来自 Web 服务的搜索添加到视图中。找不到此特定目的的答案...帮助!
首先我尝试使用 PictureBox。当从 Web 服务接收到事件时,我将通过结果循环添加行,每行都包含一个图像。
// Add image
System.Windows.Forms.PictureBox picEventImage = new System.Windows.Forms.PictureBox();
picEventImage.Image = global::MyEventfulQuery.Properties.Resources.defaultImage;
picEventImage.ImageLocation = Event.ImageUrl;
this.dgvEventsView.Controls.Add(picEventImage);
picEventImage.Location = this.dgvEventsView.GetCellDisplayRectangle(1, i, true).Location;
即使图像加载完美,它看起来与视图断开连接,即当我滚动时图像不会移动,并且在用新数据刷新视图时,图像只是徘徊......糟糕。
所以我尝试了其他帖子的提示:
Image image = Image.FromFile(Event.ImageUrl);
DataGridViewImageCell imageCell = new DataGridViewImageCell();
imageCell.Value = image;
this.dgvEventsView[1, i] = imageCell;
但我收到一条错误消息,提示“不支持 URI 格式”。
- 我是否错误地使用了图像?
- 是否有另一个类可以用于 URL 图像而不是 Image?
- 还是我别无选择,只能创建一个自定义控件(其中包含一个 PictureBox)以添加到 DataGridView 单元格?