sub masub(sender as object,e as mouseeventargs) handles label1.MouseUp, label2.Mouseup, ... dim MonLabelClic as label = directcast(sender,label) monlabelclic.text = ...
Private Sub ListView1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDown 'Récupère l'item de liste en dessous de la sourie (celui qui va être déplacé) Dim itemDraged As ListViewItem = Me.ListView1.GetItemAt(e.X, e.Y) 'S'il n'y en a pas on stop If itemDraged Is Nothing Then Exit Sub 'Début du drag de l'item Me.ListView1.DoDragDrop(itemDraged, DragDropEffects.Move) End Sub 'La sourie se déplace au dessus du label de destination avec un objet en mouvement '(ici on va gérer les options possibles du drag ou si on veut, 'le style du pointeur de la sourie) 'Si par exemple vous mettez Copy à la place de Move vous constaterez 'la différence de curseur. En gros, cela permet par exemple sous certaines 'conditions de ne pas autoriser le drag "DragDropEffects.None" 'dans ce cas l'utilisateur aura beau lacher l'objet, il ne se passe rien Private Sub DropDestLabel_DragOver(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DropDestLabel.DragOver If (e.AllowedEffect And DragDropEffects.Move) = DragDropEffects.Move Then e.Effect = DragDropEffects.Move End If End Sub 'La sourie lache l'objet sur le label Private Sub DropDestLabel_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DropDestLabel.DragDrop 'Récupère l'item de liste laché Dim itemDraged As ListViewItem = CType(e.Data.GetData(GetType(ListViewItem)), ListViewItem) 'Place le texte de l'item dans le label Me.DropDestLabel.Text = itemDraged.Text End Sub
Private Sub LabelNom_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelNom.MouseDown 'Début de drag du texte du label Me.LabelNom.DoDragDrop(Me.LabelNom.Text, DragDropEffects.Move) End Sub Private Sub ListView1_DragOver(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListView1.DragOver If (e.AllowedEffect And DragDropEffects.Move) = DragDropEffects.Move Then e.Effect = DragDropEffects.Move End If End Sub Private Sub ListView1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListView1.DragDrop 'Récupère le texte Dim dragedText As String = e.Data.GetData(GetType(String)).ToString() 'Ajoute un item à la liste Me.ListView1.Items.Add(dragedText) End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question