感谢各位郁闷或不郁闷的老师在《ListView与TextBox的数据传送问题》中的指点,新问题又来了
按上贴的思路,当有行被选中时,行内各列内容分别显示与对应的TextBox。我尝试把ItemClick()改为GotFocus(),
这样在用户输入关键字--回车后,ListView中的第一行就自动获得了焦点,这样用户的手不必离开键盘去碰鼠标,直接按上下键就可以在列出的数据中进行选择。
但是在GotFocus(),通过上下键选择时,TextBox的显示内容不会自动刷新,仍然显示的是GotFocus()初始状态下选中的第一行数据。为什么TextBox无法实时
显示Focus所在行呢?请各位给个想法,不需要代码,谢谢!

解决方案 »

  1.   

    注:我的代码是Private Sub CstLv_GotFocus()
      Dim i As Long
      For i = 1 To CstLv.ListItems.Count
      If CstLv.ListItems(i).Selected Then
        CITx(0).Text = CstLv.ListItems(i).Text '±àºÅ
        CITx(1).Text = CstLv.ListItems.Item(i).SubItems(1)
        CITx(2).Text = CstLv.ListItems.Item(i).SubItems(2)
        CITx(3).Text = CstLv.ListItems.Item(i).SubItems(3)
        CITx(4).Text = CstLv.ListItems.Item(i).SubItems(4)
      

  2.   


    '放在 _KeyUp 事件中写入 代码,而不是 GotFocus中.
    Private Sub ListView1_KeyUp(KeyCode As Integer, Shift As Integer)
       'Text1.Text = ListView1.SelectedItem.TextEnd Sub
      

  3.   

    可否将Private Sub CstLv_ItemClick写为Public过程,然后再_KeyUp中Call它?
      

  4.   

    Private Sub CstLv_KeyUp(KeyCode As Integer, Shift As Integer)
      Call CstLv_ItemClick
    End Sub
    错误:必选参数
    请问差什么参数?