我有一个列表视图,它有一个我编码的跳转功能,我希望最终用户只需在文本框中编写索引并单击一个按钮,它会自动选择索引项目,并将焦点放入其中,使项目成为Listview“Topitem”,这是按钮代码:
if (toolStripTextBox2.Text != "")
{
listView1.Items[Convert.ToInt32(toolStripTextBox2.Text)].Selected = true;
//listView1.TopItem.Index = Convert.ToInt32(toolStripTextBox2.Text);
}
我无法更改Topitem,无论如何都要更改topitem,如在更改视图位置,而不是更改值。
答案 0 :(得分:1)
我会使用找到的EnsureVisible
方法here。虽然这只会将指定的项目滚动到视图中,但不一定会将项目滚动到列表视图中的“TopItem”。
上面链接的“备注”部分显示,可以通过调用EnsureVisible
两次强制项目到可查看区域的顶部 - 第一个确保它可见,第二个强制列表视图将其滚动到顶部。