Bonjour,
Je cherche à faire quelque chose de surement très simple. Je cherche à faire une opération de drag and drop. ça fonctionne plutôt bien dans l'ensemble seulement j'aimerai ajouter une petite complexité.
Je m'explique j'ai deux listes (list1 et list2) et je peux mettre des éléments de list1 vers list2 et de list2 vers list1 mais je veux empêcher le drop de list2 vers... list2.
voici le code pour ma list1 :
Et pour ma list2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub List1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs) If e.LeftButton = MouseButtonState.Pressed Then Dim obj As New DataObject() effects = DragDrop.DoDragDrop(List1, obj, DragDropEffects.Move) End If End Sub
Mon souci c'est que e.Source contient List2 et idem pour l'objet sender. De plus, si j'utilise ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub List2_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs) Dim listBox As ListBox = CType(e.Source, ListBox) If listBox IsNot Nothing AndAlso listBox.Name = "List1" Then e.Effects = DragDropEffects.None Else e.Effects = DragDropEffects.Copy End If End Sub
ça ne change absolument pas mon icone de drag and drop et celui-ci fonctionne toujours....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub ListPanier_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs) e.Effects = DragDropEffects.None End SubJ'ai dû rater quelque chose ?
Partager