强制列表视图向下滚动到特定组。 C#

时间:2015-01-18 17:58:28

标签: c# listview

我的Windows窗体上有一个listview控件,可以容纳特定组下的项目数量,即硬件,卫生,工具,油漆等等。由于项目列表太大,无法在合理的时间内选择项目,所以我在listview控件上方有一个菜单条,其中包含listview控件中组的名称,我想要做的是有一个菜单条的处理程序,它将列表视图向下滚动到特定组以节省时间。 怎么可以做到,我做谷歌,但无法想出一个好方法。

1 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点。第一个是获取所需Group中的第一个项目,然后在其上使用EnsureVisible方法。这将听起来像,确保项目可见。如果它在屏幕外,它会将该项目滚动到可查看项目的底部:

// ToDo: check that the groups HAS items
ListViewitem lvi = myLV.Groups["myGroup"].Items[0];
lvi.EnsureVisible();

另一种方式 - 可能就是你想要的 - 将尝试使同一个ListViewItem成为TopItem,这可能会将更多的Group滚动到可查看区域:

myLV.TopItem = lvi;