在datagridview中显示图标文件

Displaying icon files in datagridview

我想在 datagridview 列中显示图标文件,但我遇到了一些问题:
see this pic

这是我的代码:

Icon ico = Icon.ExtractAssociatedIcon("C:/1419608299489.jpg");
DataGridViewImageColumn image = new DataGridViewImageColumn();
image.HeaderText = "Image";
image.Icon = ico;
dataGridView1.Columns.Add(image);

我认为这就是您要搜索的内容(可在此处找到 dataGridView Image not displaying):

        Icon icon = Icon.ExtractAssociatedIcon(@"filepath");

        List<MyItem> items = new List<MyItem>();
        for (int i = 0; i < 10; i++)
        {
            items.Add(new MyItem { Key = i, value = icon.ToBitmap() });
        }

        this.dataGridView1.AutoGenerateColumns = false;
        this.dataGridView1.Columns.Clear();
        this.dataGridView1.Columns.Add("Key", "Key");
        this.dataGridView1.Columns.Add(new DataGridViewImageColumn() { HeaderText = "Status" });

        this.dataGridView1.Columns[0].DataPropertyName = "Key";
        this.dataGridView1.Columns[1].DataPropertyName = "value";

        this.dataGridView1.DataSource = items;

MyItem是某物。像这样:

class MyItem
{
    public int Key { get; set; }

    public Image value { get; set; }
}

结果:

检查以下内容:

  • 肯定有图片文件
  • 图像文件没有损坏(您可以使用图像查看器访问它)。
  • 您有权访问驱动器 C:(如果没有,运行 以管理员身份访问该程序)。

如果上述情况成立,请尝试将文件复制到项目中。我实际上不明白为什么您会将图像文件保留在项目之外。这进一步简化了事情,因为您可以使用相对路径来访问文件。