2 回答
TA贡献1784条经验 获得超7个赞
另一种解决方案是使用该MouseMove事件并HitTest 按照 TaW在上述评论中的建议进行操作。在这种情况下,您的代码将如下所示:
dgv_tabla.MouseMove += Dgv_tabla_MouseMove;
private void Dgv_tabla_MouseMove(object sender, MouseEventArgs e)
{
int index = dgv_tabla.Columns["Remove"].Index;
DataGridView.HitTestInfo info = dgv_tabla.HitTest(e.X, e.Y);
if (info.ColumnIndex == index && info.RowIndex >= 0)
dgv_tabla.Cursor = Cursors.Hand;
else
dgv_tabla.Cursor = Cursors.Default;
}
TA贡献1864条经验 获得超6个赞
使用该CellMouseLeave事件将光标重置为默认值。在这种情况下,您不需要else分支:
dgv_tabla.CellMouseEnter += dgv_tabla_Hover;
dgv_tabla.CellMouseLeave += dgv_tabla_CellMouseLeave;
private void dgv_tabla_Hover(object sender, DataGridViewCellEventArgs e)
{
//The index of the column where i want to show Cursor.Hand
var index = dgv_tabla.Columns["Remove"].Index;
if (e.ColumnIndex == index && e.RowIndex >= 0)
dgv_tabla.Cursor = Cursors.Hand;
}
private void dgv_tabla_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
{
dgv_tabla.Cursor = Cursors.Default;
}
- 2 回答
- 0 关注
- 237 浏览
添加回答
举报