The following example demonstrates how to perform a drag and drop operation with tree nodes between two TreeView controls in vb.net
Example
this example requires one windows form that contains Two treeview controls named treeview1 and treeview2, Use the toolbox to add two TreeView controls to Form1. Change the AllowDrop property of both TreeView1 and TreeView2 to True in the Properties window.
Generate method handler for ItemDrag event of TreeView1 and use this code :
Private Sub TreeView1_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView1.ItemDrag TreeView1.DoDragDrop(TreeView1.SelectedNode.Text, DragDropEffects.Move) End Sub
Generate method handler for DragEnter event of TreeView2:
Private Sub TreeView2_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView2.DragEnter e.Effect = DragDropEffects.All End Sub
Generate method handler for DragDrop event of TreeView2:
Private Sub TreeView2_DragDrop(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView2.DragDrop Dim str As String = CStr(e.Data.GetData(DataFormats.Text)) Dim _Treenode As TreeNode Dim pt As Point pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y)) _Treenode = CType(sender, TreeView).GetNodeAt(pt) If _Treenode IsNot Nothing Then _Treenode.Nodes.Add(str) Else TreeView2.Nodes.Add(str) End If End Sub