在特定的细胞datagridview的C#展示形象 [英] show image in specific cell datagridview c#

查看:133
本文介绍了在特定的细胞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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆