I have a listview with large icons. When user clicks, say the top left of an icon, and in the mouse down event i have Point p = listview1.PointToClient(new Point(MousePosition.X, MousePosition.Y)), if I then compare p to listviewitem.Position, where listviewitem is the icon the user clicked, then in some cases the two points aren't equal. Anyone that can explain why this offset exists and is there a way to know what this offset would be? i.e. is there e.g. a property of the listview that holds this?