问题
Is there any good/short solution to the subj?
I can think of:
get
TopItem
index (inVirtualMode
can it be null before item is created?), if index of needed item is less, then it is invisible, otherwise get bottom visible index (top index +listView.ClientSize.Height / GetItemRect(TopItem).Height
) and if index of needed item is more, then it is invisible. Otherwise visible.detect scrolling somehow and do something.
Or maybe there is an easier way?
回答1:
listView1.Items[SelectedItemIndex].Bounds.IntersectsWith(listView1.ClientRectangle)
This will solve your problem.
来源:https://stackoverflow.com/questions/18339133/check-if-selected-item-is-visible-virtual-listview-in-details-view