Вы можете использовать обычный элемент управления ToolTip с вашим DataGridView, который позволит вам использовать свойство duration ToolTip, чтобы установить время, в течение которого будет отображаться подсказка.
Попробуйте это:
- Добавить элемент управления всплывающей подсказки в форму
- Используйте CellToolTipTextNeeded вашего DGV (или CellMouseEnter)
событие, чтобы определить, хотите ли вы
отобразить всплывающую подсказку и, если это так, вызвать
всплывающая подсказка ToolTip.Show
метод.
Вот пример:
private void dataGridView1_CellToolTipTextNeeded(object sender, DataGridViewCellToolTipTextNeededEventArgs e) {
if (e.ColumnIndex == 2) { // Display the tool tip only on DGV ColumnIndex 2.
Rectangle cellRect = dataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false);
toolTip1.Show("This is my ToolTip text",
this,
dataGridView1.Location.X + cellRect.X + cellRect.Size.Width,
dataGridView1.Location.Y + cellRect.Y + cellRect.Size.Height,
5000); // Duration: 5 seconds.
} else if (e.ColumnIndex >= 0 && e.RowIndex >= 0) {
toolTip1.Hide(this);
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].ToolTipText = " Hello from column: " + e.ColumnIndex.ToString();
}
}
Обратите внимание, что мы не используем событие CellToolTipTextNeeded, чтобы установить свойство ToolTipText объекта DataGridViewCell.
Преимущество использования элемента управления ToolTip заключается в том, что вы можете настроить внешний вид и поведение всплывающей подсказки через свойства элемента управления ToolTip.