检查所选项是否可见[详细视图中的虚拟ListView]

时间:2013-08-20 15:30:55

标签: c# winforms listview virtualmode

是否有任何优秀/简短的解决方案?

我能想到:

  • 获取TopItem索引(在VirtualMode中是否可以在创建项目之前为空?),如果所需项目的索引较小,则它是不可见的,否则获得底部可见索引(顶部索引+ listView.ClientSize.Height / GetItemRect(TopItem).Height)如果所需项目的索引更多,那么它是不可见的。否则可见。

  • 以某种方式检测滚动并执行某些操作。

或许有一种更简单的方法?

1 个答案:

答案 0 :(得分:2)

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

这将解决您的问题。

相关问题