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
| Private Sub TreeView_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView.DragDrop, TreeViewEtapes.DragDrop
Dim OrigineNode As TreeNode = CType(e.Data.GetData("System.Windows.Forms.TreeNode"), TreeNode)
If e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) Then
Dim pt As Point
Dim DestinationNode As TreeNode
'Utilisez PointToClient pour calculer l'endroit de la souris sur le destination TreeView.
pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y))
'Utilisez ce Point pour recevoir le noeud le plus proche dans la destination TreeView.
DestinationNode = CType(sender, TreeView).GetNodeAt(pt)
If (DestinationNode.Level < 2) Then
DestinationNode.Nodes.Add(CType(OrigineNode.Clone, TreeNode))
End If
End If
End Sub
Private Sub TreeView_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView.DragEnter
'L'événement DragEnter est déclenché lorsque l'utilisateur fait glisser pour la première fois le curseur de la souris au-dessus du contrôle durant une opération de glisser-déplacer.
If (e.Data.GetDataPresent("System.Windows.Forms.TreeNode")) Then
e.Effect = DragDropEffects.All
Else
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub TreeView_DragLeave(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView.DragLeave
'Se produit lorsque l'utilisateur fait glisser un élément et que le pointeur de la souris n'est plus sur la zone cliente de cet élément
If (e.Data.GetDataPresent("System.Windows.Forms.TreeNode")) Then
e.Effect = DragDropEffects.All
Else
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub TreeView_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView.ItemDrag, TreeViewOperations.ItemDrag, TreeViewEtapes.ItemDrag
'Se produit lorsque l'utilisateur commence à faire glisser un élément.
If e.Button = Windows.Forms.MouseButtons.Left Then
DoDragDrop(e.Item, DragDropEffects.Move Or DragDropEffects.Copy Or DragDropEffects.All)
End If
End Sub |
Partager