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);

}

  

你可能感兴趣的:(datagridview)