2013-08-20 28 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

相关问题