Winform dataGridview 为每一个单元格制定一个tooptip
1.为每一个单元格制定一个tooptip提示,当鼠标移到单元格时,自动弹出提示框。
界面如下:
1,代码如下,
先设置鼠标移到单元格的行号和列号:
public partial class DataGridViewMerge : Form
{
private int CellColumnIndex { get; set; }
private int CellRowIndex { get; set; }
}
设置鼠标进入单元格显示tooltip工具窗口。
如下:
private void dgv1_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0 || e.ColumnIndex < 0)
{
return;
}
this.toolTip1.Hide(this.dgv1);
this.CellColumnIndex = e.ColumnIndex;
this.CellRowIndex = e.RowIndex;
if (this.CellColumnIndex >= 0 && this.CellRowIndex >= 0)
{
int dgvY = dgv1.Location.Y;
int dgvX = dgv1.Location.X;
int cellX = dgv1.GetCellDisplayRectangle(CellColumnIndex,CellRowIndex,false).X;
int cellY = dgv1.GetCellDisplayRectangle(CellColumnIndex,CellRowIndex,false).Y;
int x = dgvX + cellX;
int y = dgvY + cellY+5;
DataGridViewCell dgvc = this.dgv1[this.CellColumnIndex, this.CellRowIndex];
// Point mousePos = PointToClient(MousePosition);
Point mousePos = new Point(x, y);
Rectangle rec = dgvc.ContentBounds;
string tip = "Tip is " + dgvc.Value.ToString()+" "+x+" "+y;
this.toolTip1.Show(tip, this.dgv1, mousePos);
}
}
鼠标离开单元格时,隐藏tooltip
代码如下:
private void dgv1_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
{
this.toolTip1.Hide(this.dgv1);
}

浙公网安备 33010602011771号