Ответ 1
Посмотрите на свойство DataGridViewCell.ToolTipText и используйте событие DataGridView CellFormatting
, чтобы установить это значение свойства. Вы можете использовать свойство event DataGridViewCellFormattingEventArgs
ColumnIndex
, чтобы определить, запускается ли событие для столбца, для которого вы хотите установить подсказку инструмента, и если это так использовать событие RowIndex
, чтобы указать значение подсказки инструмента.
Образец в статье MSDN, с которой я связан, имеет прекрасный пример использования, но ваш код может выглядеть примерно так:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {
if (e.ColumnIndex == dataGridView1.Columns[nameOrIndexOfYourImageColumn].Index) {
var cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
// Set the Cell ToolTipText. In this case we're retrieving the value stored in
// another cell in the same row (see my note below).
cell.ToolTipText = dataGridView1.Rows[e.RowIndex].Cells[nameOrIndexOfYourDescriptionColumn].Value.ToString();
}
}
Где:
nameOrIndexOfYourImageColumn
= имя столбца или индекс вашего столбца изображения
nameOrIndexOfYourDescriptionColumn
= имя столбца или значение индекса с вашими данными описания.
Примечание: вам понадобится какой-то способ получить данные описания строки. Обычный способ сделать это - иметь столбец для него в вашем DataGridView, но сделать, поскольку вы не хотите отображать этот столбец, установите для его свойства Visible
значение false. Однако есть и другие варианты.