Private Sub ListView1_DblClick()
Dim lstX As ListItem
Set lstX = ListView1.HitTest(X, Y)
If lstX not Is Nothing Then
   msgbox "您双击的是" & lstX.Key
end if
end sub

解决方案 »

  1.   

    上面x,y值你可以先通过ListView1_MouseMove(....)事件得到
      

  2.   

    在Item事件中写一个标志
    然后再在dblClick事件中判断
    Dim ItemClicked as Booleam
    Private Sub lst_ItemClick(..)
       ItemClicked=True
    End SubPrivate Sub lst_DblClick(..)
       If ItemClicked=True Then
          ItemClicked=False
          msgbox "双击"
       End If
    End Sub
      

  3.   

    另一种方法:
    当你双击ListView1中的item时,ItemClick和DblClick事件先后触发。
    你只要设置一个MSComctlLib.ListItem类型公共变量用于传递Item,在DblClick事件处理即可。
    Dim myitem As MSComctlLib.ListItemPrivate Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
    Set myitem = Item
    End SubPrivate Sub ListView1_DblClick()
    Debug.Print "Dblclick " & myitem
    End Sub
      

  4.   

    Private Sub ListView1_DblClick()
    If Not myitem Is Nothing Then Debug.Print "Dblclick " & myitem
    End Sub