置百丈玄冰而崩裂,掷须臾池水而漂摇。

C# winfrom listview控件滚动到底部

ASP.NET 强强

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();

封装了扩展类,项目使用就简单很多了。

发表评论:

验证码