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();封装了扩展类,项目使用就简单很多了。