Assuming that:
1. Your ListView components have names: ListView1, ListView2...ListView5
2. Your TreeView component is named: TreeView1
3. Your TreeView Nodes Text property holds name of destination ListView
Private sourceListView As ListView
Private Sub ListView_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) _
Handles ListView1.MouseDown, ListView5.MouseDown, ListView4.MouseDown, ListView3.MouseDown, ListView2.MouseDown
sourceListView = CType(sender, ListView)
End Sub
Private Sub ListView_DragOver(sender As System.Object, e As System.Windows.Forms.DragEventArgs) _
Handles ListView1.DragOver, ListView5.DragOver, ListView4.DragOver, ListView3.DragOver, ListView2.DragOver
e.Effect = DragDropEffects.Move
End Sub
Private Sub ListView_ItemDrag(sender As System.Object, e As System.Windows.Forms.ItemDragEventArgs) _
Handles ListView1.ItemDrag, ListView5.ItemDrag, ListView4.ItemDrag, ListView3.ItemDrag, ListView2.ItemDrag
sourceListView.DoDragDrop(sourceListView.SelectedItems(0).Text, DragDropEffects.Move)
End Sub
Private Sub TreeView_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) _
Handles TreeView1.DragEnter
e.Effect = DragDropEffects.Move
End Sub
Private Sub TreeView_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) _
Handles TreeView1.DragDrop
Dim destNode As TreeNode
destNode = TreeView1.GetNodeAt(TreeView1.PointToClient(New Point(e.X, e.Y)))
If IsNothing(destNode) Then
Return
End If
Dim itemText As String
itemText = DirectCast(e.Data.GetData(DataFormats.StringFormat), String)
Dim destListViewName As String
destListViewName = destNode.Text
Dim destListView As ListView
destListView = CType(Me.Controls.Find(destListViewName, True)(0), ListView)
destListView.Items.Add(itemText)
sourceListView.Items.Remove(sourceListView.FindItemWithText(itemText))
End Sub
I hope you find this solution usefull :)