Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)End Sub

解决方案 »

  1.   

    '先建立一个右键菜单,并设为不可见Private Sub Form_Load()
      ListView1.ListItems.Add , , "Item1"
      ListView1.ListItems.Add , , "Item2"
      ListView1.ListItems.Add , , "Item3"
      ListView1.ListItems.Add , , "Item4"
      ListView1.ListItems.Add , , "Item5"
    End SubPrivate Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
      PopupMenu mnuright
    End Sub
      

  2.   

    弹出式菜单和普通菜单一样设计Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 2 Then
    PopupMenu A, 2, ListView1.Left + x, ListView1.Top + y
    End If
    End Sub
      

  3.   

    关键是你要用hittest方法来具体看鼠标单击后是否选中了Listview中的Item更多的请参考MSDN
      

  4.   

    用MouseUp
    Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 2 Then
    PopupMenu A, 2, ListView1.Left + x, ListView1.Top + y
    End If
    End Sub
      

  5.   

    Private Sub ListView_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
      If Button = vbRightButton Then
        Set nodeX = ListView.HitTest(X, Y)
        '...
        'Select Case NodeTag
        '  Case "Node0" '不允许对根节点进行删除和重命名
        '     Form1.mnuPopupDelete = False
        '     Form1.mnuPopupRename = False
        '  Case "ParentYes"
        '  ...
        '  Case "ParentNo"
        ' ...
        'End Select
        '...
        PopupMenu mnuPopup
        
      End If
    End Sub
      

  6.   

    上面这段代码原来是用于Treeview的,同样适用于listview
      

  7.   

    Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
      If Button = 2 Then
          Me.PopupMenu TheMenu  End If
    End Sub
    'TheMenu是你自己设计的菜单,其中第一项或者称为顶级为不可见