1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ParentNode1 As TreeNode
Dim ParentNode2 As TreeNode
ParentNode1 = TreeView1.Nodes.Add("tv1")
With ParentNode1
.Nodes.Add("tv1FirstChild")
.Nodes.Add("tv1SecondChild")
.Nodes.Add("tv1ThirdChild")
.Nodes.Add("tv1FourthChild")
.Expand()
End With
ParentNode2 = TreeView2.Nodes.Add("tv2")
With ParentNode2
.Nodes.Add("tv2FirstChild")
.Nodes.Add("tv2SecondChild")
.Expand()
End With
End Sub
Private Sub TreeView1_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView1.ItemDrag, TreeView2.ItemDrag
DoDragDrop(e.Item, DragDropEffects.Move)
End Sub
Private Sub TreeView2_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView2.ItemDrag
DoDragDrop(e.Item, DragDropEffects.Move)
End Sub
Private Sub TreeView1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragEnter
e.Effect = DragDropEffects.Move
End Sub
Private Sub TreeView2_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView2.DragEnter
e.Effect = DragDropEffects.Move
End Sub
Private Sub TreeView1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragDrop, TreeView2.DragDrop
Dim NewNode As TreeNode
If e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) Then
Dim pt As Point
Dim DestinationNode As TreeNode
pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y))
DestinationNode = CType(sender, TreeView).GetNodeAt(pt)
NewNode = CType(e.Data.GetData("System.Windows.Forms.TreeNode"), _
TreeNode)
If Not DestinationNode.TreeView Is NewNode.TreeView Then
DestinationNode.Nodes.Add(NewNode.Clone)
DestinationNode.Expand()
'Remove original node
NewNode.Remove()
End If
End If
End Sub
End Class |
Partager