如何从winforms listview中获取可见项?似乎没有成为一个简单的方法,我不愿意通过查询或control.clientrectangle其他黑客的项目类似以下内容:在winforms listview中可见的列表视图项?
当我说看到我指的是项目上可见屏幕。
如何从winforms listview中获取可见项?似乎没有成为一个简单的方法,我不愿意通过查询或control.clientrectangle其他黑客的项目类似以下内容:在winforms listview中可见的列表视图项?
当我说看到我指的是项目上可见屏幕。
您可以从ListView.TopItem迭代,并检查ListViewItem.Bounds每个项目是否位于客户端区域内的财产。
Better ListView Express是有也BottomItem物业的免费组件,让您可以轻松地去通过可见的项目有为循环(如果两个TopItem和BottomItem不空):
for (int i = betterListView.TopItem.Index; i < betterListView.BottomItem.Index; i++)
{
// your code here
}
你可以试试这个 - 它和ListView有相同的接口,并且对.NET ListView有很多改进。
如果您正在寻找一个只给出可见项目列表的函数,那么就没有这样的事情。你可以去foreach item并检查它是否可见。 (如果我理解你的问题吗?请给多少明确的解释)
可见的手段=在屏幕上可见的项目谢谢 – Tom 2012-01-09 15:09:32
这是一个有效的答案? ListViewItem上似乎没有“Visible”属性。 – gonzobrains 2012-12-14 23:04:46
ListView.GetItemAt()是这样做的正确方法。 – 2012-01-09 16:35:15