I don't understand why Cursor.Position is different from MouseEventArgs.Location, they should be the same, don't they?
Edit: The answer seems to suggest that Cursor.Position== PointToScreen(MouseEventArgs.Location)
, but my testing indicates otherwise.