c#DataGridViewLinkColumn将单元格值作为图像而不是文本(可点击/可链接图像)

时间:2013-09-24 10:47:34

标签: c# datagridviewcolumn datagridviewlinkcolumn

可以在DataGridViewLinkColumn中拥有图像而不是文本。 在下面的示例中,我们可以在单元格中使用搜索图标来代替“搜索”文本吗?

    private void Form1_Load(object sender, EventArgs e)
    {
        DataGridViewLinkColumn c = new DataGridViewLinkColumn();
        dataGridView1.Columns.Add(c);
        dataGridView1.Rows.Add();
        dataGridView1.Rows[0].Cells[0].Value = "search";
    }

当我尝试将图像指定给单元格的值时,它不显示而是显示为“System.Drawing.Bitmap”

1 个答案:

答案 0 :(得分:1)

使用标准DataGridViewImageColumn显示图片,然后使用以下代码为DataGridView_CellMouseMove创建DataGridView事件

    private void DataGridView1_CellMouseMove(object sender, DataGridViewCellMouseEventArgs e)
    {
        if (e.ColumnIndex == DataGridViewImageColumn1.Index)
        {
            Cursor = Cursors.Hand;
        }
        else
        {
            Cursor = Cursors.Default;
        }
    }

添加逻辑以在需要时检测行。

您的链接仍然需要DataGridView_CellMouseClick个活动。

您可能还需要DataGridView_MouseLeave事件,以确保将Cursor设置为默认值。