Items innerhalb einer Listview mit der Maus verschieben

    • VB.NET

    Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von michl75.

      Items innerhalb einer Listview mit der Maus verschieben

      Hallo.

      Hiermit kann man Items einer Listview mit der Maus verschieben!

      Style: Details

      VB.NET-Quellcode

      1. Private oldItem As Integer = -1
      2. Private Sub ListView1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDown
      3. If ListView1.GetItemAt(e.X, e.Y) IsNot Nothing Then oldItem = ListView1.GetItemAt(e.X, e.Y).Index
      4. End Sub
      5. Private Sub ListView1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.MouseLeave
      6. oldItem = -1
      7. End Sub
      8. Private Sub ListView1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseMove
      9. If e.Button = Windows.Forms.MouseButtons.Left Then
      10. If ListView1.GetItemAt(e.X, e.Y) Is Nothing Then Exit Sub
      11. Dim currItem As Integer = ListView1.GetItemAt(e.X, e.Y).Index
      12. If currItem <> oldItem AndAlso oldItem > -1 Then
      13. If currItem > oldItem Then
      14. ListView1.Items.Insert(currItem + 1, ListView1.Items.Item(oldItem).Clone)
      15. ListView1.Items.RemoveAt(currItem - 1)
      16. Else
      17. ListView1.Items.Insert(currItem, ListView1.Items.Item(oldItem).Clone)
      18. ListView1.Items.RemoveAt(currItem + 2)
      19. End If
      20. oldItem = currItem
      21. End If
      22. ListView1.Items(currItem).Selected = True
      23. ListView1.Items(currItem).Focused = True
      24. End If
      25. End Sub
      26. Private Sub ListView1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseUp
      27. oldItem = -1
      28. End Sub
      Für ein Mindestmaß an Rechtschreibung, Interpunktion und Majuskeln!