Anyone know how to get the y coordinate of the part of a listview control that is visible after scrolling? ...Relative to the absolute top part of the ListView you can scroll to. For example, assume you have a listview with lots of items and you scroll all the way to the bottom...

If you were to look at the first visible item's top property, it would be some large number (there is a lot of space in the ListView above this item, but it's just not visble cause you scrolled down). But if you were to put the mouse up near the top of the first visible item, the MouseMove event of the ListView would return a "y" value very close to zero (since the top of the first visible item is close to the top of the VISIBLE part of the ListView.

It seems the ListView's items are on a coordinate system based on the actual size of the ListView needed to display all the items, and the "y" value from the MouseMove event is based on only the part of the ListView that is currently visible.

What I'm trying to figure out is how to convert the "y" value returned by the MouseMove event into a "newY" that is the actual distance from the topmost part of the ListView (not just the visible part). So that regardless of where the scroll bar is, if I move the mouse over the top of an item, my "newY" will always equal the value returned by that item's top property.

Anyway, I have no idea if this is possible, but thought I'd ask anyway cause sometimes hard things turn out to be simple. Thanks for any help.