在特定的细胞datagridview的C#展示形象 [英] show image in specific cell datagridview c#
本文介绍了在特定的细胞datagridview的C#展示形象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
string fileName = "C:\\Users\\Shahid\\Pictures\\Picasa\\word.gif";
FileInfo fileInfo = new FileInfo(fileName);
byte[] binaryData = File.ReadAllBytes(fileName);
MemoryStream ms = new MemoryStream(binaryData);
Image returnImage = Image.FromStream(ms, false, true);
dataGridView1.Rows[i].Cells[2].Value = returnImage;
dataGridView1.Rows[i].Cells[2].ToolTipText = fileInfo.ToString();
这展现在我的DataGridViewCell,而不是像System.Drawing.Bitmap。
this show "System.Drawing.Bitmap" in my DataGridViewCell instead of image.
更新我!
推荐答案
要渲染,你必须使用图像的 DataGridViewImageColumn 列。您也可以使用 CellPainting
事件吸取/漆图像/每个或特定的细胞绘制。
To render an image you have to use DataGridViewImageColumn column. You can also use CellPainting
event to draw/paint image/drawing on each or specific cell.
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex==1 && e.ColumnIndex==1)
{
using (Image img = Image.FromFile(@"c:\file\file.gif"))
{
e.Graphics.DrawImage(img, e.CellBounds.Left, e.CellBounds.Top - 1, e.CellBounds.Right, e.CellBounds.Bottom - 1);
e.PaintContent(e.ClipBounds);
e.Handled = true;
}
}
}
这篇关于在特定的细胞datagridview的C#展示形象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文