下午碰到了这个问题,头大了一下,由于对.Net的控件还是很熟悉,所以一开始碰到这个问题
基本上让我无从下手,只好翻开MSDN ,但是不知道是由于我的查找方法不对还是自己有rpwt
始终找不到相应的内容,只好回想以前做VB,Delphi程序的时候怎么做了,乖乖,想到这些,
Windows 消息机制就想起来了,退步好快啊, 为什么不向ListView发送一条LVM_SCROLL消息
呢,这个方法应该能实现,但是实现起来好像有点麻烦,.Net的ListView到底能不能用一个简单的
方法来实现呢,只好求助网络了,搜了半天在中文GOOGLE中也找不到相关资料,郁闷,最后只能
使用英文 GOOGLE了,(我的英文水平不太行),我尝似着输入 “.Net ListView auto scroll to the end of the list" 搜到几位老兄和我一样的问题,翻了好多地方,终于找到个地方,有答复的,但是好事多磨,这位老兄不知道是哪个国家的,回答的内容全都是乱码,唯一一句看得懂的就是Item.EnsureVisible()了,看来关键在这里了,回到msdn 中一查

ListView.EnsureVisible 方法  [C#]

请参见

ListView 类 | ListView 成员 | System.Windows.Forms 命名空间 | TopItem | ListView 成员(Visual J# 语法)

要求

平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列, .NET Framework 精简版 - Windows CE .NET

语言

C#

C++

JScript

Visual Basic

全部显示

确保指定项在控件中是可见的,必要时滚动控件的内容。

[Visual Basic]

Public Sub EnsureVisible( _

   ByVal index As Integer _

)

[C#]

public void EnsureVisible(

   int index

);

[C++]

public: void EnsureVisible(

   int index

);

[JScript]

public function EnsureVisible(

   index : int

);

参数

index

要滚动至视图中的项的从零开始的索引。

备注

您可以使用该方法确保指定的项在 ListView 控件中是可见的。对 ListView 中的项执行验证时,您可以调用 EnsureVisible 方法来确保 ListView 控件中显示未通过验证的项,以便用户能够对该项执行更改。如果要确保其可见的项位于 ListView 控件可视区域的上方,调用 EnsureVisible 方法将会滚动控件的内容,直至该项成为控件可视区域的第一项。如果该项位于 ListView 控件可视区域的下方,调用 EnsureVisible 方法将会滚动 ListView 控件的内容,直至该项成为控件可视区域中的最后一项。

要确定项是否位于 ListView 控件显示区域的顶部,请使用 TopItem 属性。

 

靠这不是我要找到吗,只要找到最后一项的index不就可以了吗

马上打开vs.net 加上了这句

ListView1.Items[ListView1.Items.Count-1].EnsureVisible()

运行 通过。

posted on 2010-08-22 00:37  freedom831215  阅读(1583)  评论(0编辑  收藏  举报