如何在选择单元格时显示datagridview的工具提示,而不是从鼠标悬停但是使用箭头键?
答案 0 :(得分:7)
正如您所注意到的,您将无法使用DataGridView的内置工具提示。实际上,您需要将其禁用,因此请将DataGridView的ShowCellToolTips
属性设置为false
(默认情况下为true
)。
您可以使用DataGridView的CellEnter
事件和常规的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;
}
请注意,我根据单元格的高度和宽度在ToolTip的位置添加了一个偏移量。我做到了这一点,因此ToolTip不会直接出现在单元格上;你可能想要调整这个设置。
答案 1 :(得分:0)
private void dataGridView_MouseLeave(object sender, EventArgs e)
{
toolTip1.Hide(this);
}
答案 2 :(得分:-1)
dgv.CurrentCellChanged += new EventHandler(dgv_CurrentCellChanged);
}
void dgv_CurrentCellChanged(object sender, EventArgs e)
{
// Find cell and show tooltip.
}