give a try to this, I have changed code in two events rest of the implementation is intact.
Private Sub TreeView1_ItemDrag(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView1.ItemDrag
If (CType(e.Item, TreeNode).Parent Is Nothing) Then
Dim nodes As TreeNodeCollection = CType(e.Item, TreeNode).Nodes
For Each node As TreeNode In nodes
DoDragDrop(node, DragDropEffects.Copy)
Next
Else
DoDragDrop(e.Item, DragDropEffects.Copy)
End If
End Sub
Private Sub Form1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop
pic = New PictureBox
With pic
.Size = New Size(100, 100)
.BackColor = Color.Black
Me.Controls.Add(pic)
End With
AddHandler pic.MouseDown, AddressOf pic_MouseDown
AddHandler pic.MouseMove, AddressOf pic_Mousemove
AddHandler pic.MouseUp, AddressOf pic_Mouseup
End Sub