C# 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 ответ
Решение
Используйте стандарт 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
вернуться к значению по умолчанию.