检查所选项目是否可见[虚拟列表查看详细视图]
问题描述:
是否有任何好/短的解决方案的主题?检查所选项目是否可见[虚拟列表查看详细视图]
我能想到的:
得到
TopItem
指数(?在VirtualMode
可以在创建项目之前为null),如果需要,项目的指标比较少,那么它是无形的,否则得到底部可见索引(顶端索引+listView.ClientSize.Height/GetItemRect(TopItem).Height
),如果需要的索引项目多,则它是不可见的。否则可见。以某种方式检测滚动并执行某些操作。
或者也许有更简单的方法?
答
listView1.Items[SelectedItemIndex].Bounds.IntersectsWith(listView1.ClientRectangle)
这将解决您的问题。
var visible = listView1.Items [listView1.SelectedIndices [0]] .Boundss.IntersectsWith(listView1.ClientRectangle)'它完美的工作,谢谢! – Sinatr