2013-08-20 32 views
0

是否有任何好/短的解決方案的主題?檢查所選項目是否可見[虛擬列表查看詳細視圖]

我能想到的:

  • 得到TopItem指數(?在VirtualMode可以在創建項目之前爲null),如果需要,項目的指標比較少,那麼它是無形的,否則得到底部可見索引(頂端索引+ listView.ClientSize.Height/GetItemRect(TopItem).Height),如果需要的索引項目多,則它是不可見的。否則可見。

  • 以某種方式檢測滾動並執行某些操作。

或者也許有更簡單的方法?

回答

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

這將解決您的問題。

+0

var visible = listView1.Items [listView1.SelectedIndices [0]] .Boundss.IntersectsWith(listView1.ClientRectangle)'它完美的工作,謝謝! – Sinatr

相關問題