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

本文关键字:图像 文本 单击 链接 单元格 DataGridViewLinkColumn | 更新日期: 2023-09-27 18:32:29

可以在 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"

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

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

    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设置回默认值。