Как вы заметили, вы не сможете использовать встроенную подсказку DataGridView.Фактически вам необходимо отключить его, поэтому установите для свойства ShowCellToolTips
объекта DataGridView значение false
(по умолчанию true
).
Вы можете использовать событие CellEnter
DataGridView с обычной подсказкой Winform ToolTip.управление отображением подсказок при изменении фокуса от ячейки к ячейке независимо от того, было ли это сделано с помощью мыши или клавиш со стрелками.
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) {
var cell = dataGridView1.CurrentCell;
var cellDisplayRect = dataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false);
toolTip1.Show(string.Format("this is cell {0},{1}", e.ColumnIndex, e.RowIndex),
dataGridView1,
cellDisplayRect.X + cell.Size.Width / 2,
cellDisplayRect.Y + cell.Size.Height / 2,
2000);
dataGridView1.ShowCellToolTips = false;
}
Обратите внимание, что я добавил смещение к расположению подсказки на основевысота и ширина ячейки.Я сделал это, чтобы всплывающая подсказка не отображалась прямо над ячейкой;Вы можете настроить этот параметр.