none
winform中DataGridView单元格显示图片问题 RRS feed

  • 问题

  • 如题:项目中需要在DataGridView部分的单元格中显示图片。
    
    
    this.PicDataGrid.Rows[0].Cells[i].Value = Image.FromFile("E:\\VC#项目\\winformdhxt\\winformdhxt\\images\\暂无照片.JPG");
    
    

    这样直接赋值的话,编译结果显示的不是图片。

    而是单元格中显示:System.Drawing.Bitmap

    请高手指点下!感谢先!


    hi,this is paul!

    2011年2月25日 4:43

答案

  • 你好!

    使用 DataGridViewImageColumn 如下:

    using System.Drawing;
    using System.Windows.Forms;
    
    namespace X.WinForms.UI
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
          InitDemo();
        }
    
        void InitDemo()
        {
          DataGridView dgv = new DataGridView();
          dgv.Columns.Add(new DataGridViewImageColumn());
    
          dgv.Rows.Add(new object[] {
            Image.FromFile(@"D:\Tulips.jpg") });
    
          this.Controls.Add(dgv);
        }
      }
    }
    
    


    知识改变命运,奋斗成就人生!
    • 已标记为答案 Specialme 2011年2月25日 7:46
    2011年2月25日 5:33
    版主

全部回复

  • 你好!

    使用 DataGridViewImageColumn 如下:

    using System.Drawing;
    using System.Windows.Forms;
    
    namespace X.WinForms.UI
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
          InitDemo();
        }
    
        void InitDemo()
        {
          DataGridView dgv = new DataGridView();
          dgv.Columns.Add(new DataGridViewImageColumn());
    
          dgv.Rows.Add(new object[] {
            Image.FromFile(@"D:\Tulips.jpg") });
    
          this.Controls.Add(dgv);
        }
      }
    }
    
    


    知识改变命运,奋斗成就人生!
    • 已标记为答案 Specialme 2011年2月25日 7:46
    2011年2月25日 5:33
    版主
  • 需要设定“列”的数据类型,把它设定成能显示图片的列类型,如楼上 mvp 所言。
    不重要的其实最重要
    2011年2月25日 7:09
  •  非常感谢,已经OK!


    hi,this is paul!
    2011年2月25日 7:46