2013-08-20 2 views
0

subj에 대한 좋은 해결책이 있습니까?선택한 항목이 표시되는지 확인하십시오. [상세보기의 가상 ListView]

내가 생각할 수 : 필요한 항목의 지수가 작 으면 (? 항목이 생성되기 전에 VirtualMode에가 널 (NULL) 일 수있는)

  • 얻을 TopItem 인덱스, 다음, 그렇지 않으면 볼 수 아래 얻을, 보이지 않는 index (top index + listView.ClientSize.Height/GetItemRect(TopItem).Height) 필요한 항목의 색인이 더 많으면 보이지 않습니다. 그렇지 않으면 볼 수 있습니다.

  • 어떻게 든 스크롤을 감지하고 뭔가를하십시오.

아니면 더 쉬운 방법이 있을까요?

답변

2
listView1.Items[SelectedItemIndex].Bounds.IntersectsWith(listView1.ClientRectangle) 

이렇게하면 문제가 해결됩니다.

+0

'var visible = listView1.Items [listView1.SelectedIndices [0]]. Bounds.IntersectsWith (listView1.ClientRectangle)'그것은 완벽하게 작동합니다. – Sinatr

관련 문제