provo a rimediare ...
Allora, tenta con questa funzione:
Point GetCellPointUpLeft(Point p)
{
int finalx = tuoDataGridView.ColumnHeadersHeight;
int finaly = tuoDataGridView.RowHeadersWidth;
foreach (DataGridViewColumn column in tuoDataGridView.Columns)
{
if (p.X > finalx + column.Width)
{
finalx += column.Width;
}
else
{
break;
}
}
foreach (DataGridViewRow row in tuoDataGridView.Rows)
{
if (p.Y > finaly + row.Height)
{
finaly += row.Height;
}
else
{
break;
}
}
return new Point(finalx, finaly);
}
Luca