【发布时间】:2012-05-25 18:41:04
【问题描述】:
如何从 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 单元格?
【问题讨论】:
-
试试这个链接亲爱的也许它可以帮助你。 stackoverflow.com/questions/17334843/…
标签: c# winforms datagridview