【问题标题】:Refresh listview so that it shows the selectedindex?刷新列表视图,使其显示选定的索引?
【发布时间】:2011-12-26 08:03:01
【问题描述】:

我有一个 winforms 列表视图,其中详细信息列表视图中显示了 200 个项目。
屏幕上一次显示 50 个项目。我想点击一个按钮并让列表视图显示选定的索引# - 例如#113。

我遇到的问题是我可以选择索引 113,但列表视图不会在滚动范围的顶部显示 113。

我必须做些什么才能让列表视图移动到 selectindex?

更新1:

答案是使用 EnsureVisible :

populateListView();
this.listView1.Items[113].Selected = true;
this.listView1.Items[113].EnsureVisible();   

【问题讨论】:

    标签: c# winforms listview scroll


    【解决方案1】:

    您尝试过使用yourList.SelectedItem.EnsureVisible

    使用list.TopItem = list.Item[x] 让它将该项目滚动到顶部(或尝试)

    http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.ensurevisible%28VS.90%29.aspx

    【讨论】:

    • EnsureVisible 保证所选项目在列表视图中可见,但不确保该项目是顶部项目。问题似乎是在问如何不仅确保该项目可见,而且如何将其麦克风显示在“滚动范围的顶部”。为此,请使用 listView1.TopItem 属性。
    【解决方案2】:

    确保可见将确保您定义的项目在窗口中可见,但不一定是 ListView 中的顶部项目。

    要确保您选择的项目是顶部项目,请使用 listView1.TopItem 属性

    listView1.Items[113].Selected = true;
    listView1.TopItem = listView1.SelectedItems[0];
    

    【讨论】:

      【解决方案3】:

      为结果添加以下代码:

      list.SelectedIndex = i;
      list.ScrollIntoView(list.Items[i]);
      

      【讨论】:

      • WinForm ListView 没有ScrollIntoView(ListViewItem x)
      猜你喜欢
      • 2014-03-27
      • 2017-03-19
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多