C# winfrom listview控件滚动到底部
C# winfrom listview控件滚动到底部
一、业务场景
我们在wifnrom项目中,经常使用listview控件,在滚动条一会,刷新显示第一行回看不到新增的记录
,就想定位到最后,官方没有给方法,下面给出一个可以实现的代码
二、解决方法:
listViewlist.Focus(); //聚焦光标 listViewlist.Items[listViewlist.Items.Count-1].Selected = true; //选中最后一行 listViewlist.Items[listViewlist.Items.Count - 1].EnsureVisible();//显示内容自动滚动到最后一行
例如:
默认定位到最后一行。
三、扩展使用
封装一个扩展类:
/// <summary> /// ListView 控制扩展方法 /// </summary> public static class ListViewEx { /// <summary> /// 滚动条滚动到最后 /// </summary> /// <param name="this"></param> public static void ScrollMoveEnd(this ListView @this) { if (@this == null) return; if (@this.Items.Count > 0) { @this.Focus(); //聚焦光标 @this.Items[@this.Items.Count - 1].Selected = true; //选中最后一行 @this.Items[@this.Items.Count - 1].EnsureVisible();//显示内容自动滚动到最后一行 } } } //调用方法: this.listview1.ScrollMoveEnd();
封装了扩展类,项目使用就简单很多了。