我做了一个索引器,就是上面是textBox1,下面是listView1。当textBox1每输入一个字符的时候,textChanged事件就触发去listView1中寻找。
现在的问题是listView1中的行已经找到,并且
this.listView1.Items[i].Selected=true;
this.listView1.Items[i].Focused=true;而且this.listView1.HideSelection = false;但因为listView1比较长,出现了垂直滚动条,所以那条找到的记录需要滚动才能看到,怎样使得滚动条直接滚到那条记录所在的位置呢?

解决方案 »

  1.   

    使用ListView的EnsureVisible方法吧:
    ————————————————————————
    ListView.EnsureVisible Method  [C#]See Also
    ListView Class | ListView Members | System.Windows.Forms Namespace | TopItem | ListView Members (Visual J# Syntax) | Managed Extensions for C++ Programming 
    Requirements
    Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
    Language
    C#C++JScriptVisual BasicShow All
    Ensures that the specified item is visible within the control, scrolling the contents of the control if necessary.[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
    );Parameters
    index 
    The zero-based index of the item to scroll into view.