Проверьте, виден ли выбранный элемент [виртуальный просмотр списка в подробностях]
Есть ли хорошее / короткое решение для Subj?
Я могу думать о:
получить
TopItem
индекс (вVirtualMode
может ли он быть нулевым до создания элемента?), если индекс необходимого элемента меньше, то он невидим, в противном случае получить нижний видимый индекс (верхний индекс +listView.ClientSize.Height / GetItemRect(TopItem).Height
) и если индекс нужного элемента больше, то он невидим. Иначе видно.как-то обнаружить прокрутку и что-то сделать.
Или, может быть, есть более простой способ?
1 ответ
Решение
listView1.Items[SelectedItemIndex].Bounds.IntersectsWith(listView1.ClientRectangle)
Это решит вашу проблему.