C# listview每次刷新后总是跳到listview的最上方,这样如果查看listview比较靠下的数据时很不方便,请问有什么解决方法
C# listview每次刷新后总是跳到listview的最上方,这样如果查看listview比较靠下的数据时很不方便,请教大虾有什么解决办法?
我的方案是采用timer控件每隔3秒钟对listview进行刷新,也就是消除现有数据,重新遍历数据库,显示到listview上,这些都没有问题了,只是每次刷新后listview老是蹦到最上方,这样如果刷新快的话根本无法看下方的数据了(listview显示类型为detail),希望大侠们能给个解决方案!
------解决方案--------------------
我的方案是采用timer控件每隔3秒钟对listview进行刷新,也就是消除现有数据,重新遍历数据库,显示到listview上,这些都没有问题了,只是每次刷新后listview老是蹦到最上方,这样如果刷新快的话根本无法看下方的数据了(listview显示类型为detail),希望大侠们能给个解决方案!
------解决方案--------------------
- C# code
listView1.Items[listView1.Items.Count - 1].EnsureVisible();//这句保证滚动条始终在最下方
------解决方案--------------------
listView1.Items[listView1.Items.Count - 1].EnsureVisible();可以
EnsureVisible确保指定项在控件中是可见的,必要时滚动控件的内容。
------解决方案--------------------
- C# code
int _index = 0; private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { if (e.IsSelected) { ListViewItem lva = e.Item; _index = lva.Index; } } private void addlist() { listView1.Items.Clear(); for (int i = 0; i < 20; i++) { string[] s = new string[2]; s[0] = i.ToString(); s[1] = (i + 1).ToString(); ListViewItem lvt = new ListViewItem(s); listView1.Items.Add(lvt); } listView1.Items[_index].EnsureVisible();//这句保证滚动条始终在最下 }
------解决方案--------------------
我在.net里面是设置<%@ Page Language="C#" MasterPageFile="~/at1.master" MaintainScrollPositionOnPostback="true"