Listbox Einträge mit der Maus verschieben

    • VB.NET

      Listbox Einträge mit der Maus verschieben

      Hier mal ein kleines Script, wie ihr Listbox Einträge mit der Maus Verschieben und Sortieren könnt.

      In Public Class Form1

      VB.NET-Quellcode

      1. Dim iLstIndex As Integer = -1


      VB.NET-Quellcode

      1. Private Sub ListBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown
      2. If e.Button = Windows.Forms.MouseButtons.Left Then
      3. ' zu verschiebendes Item speichern
      4. iLstIndex = ListBox1.SelectedIndex
      5. Else
      6. iLstIndex = -1
      7. End If
      8. End Sub
      9. Private Sub ListBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseMove
      10. Dim sTempItem As String
      11. Dim iTempIndex As Integer
      12. If e.Button = Windows.Forms.MouseButtons.Left And lstFiles.SelectedIndex <> iLstIndex And iLstIndex > -1 Then
      13. ' aktuellen Index ermitteln
      14. iTempIndex = ListBox1.SelectedIndex
      15. ' markiertes Item zwischenspeichern
      16. sTempItem = ListBox1.Items(iTempIndex)
      17. ' zuvor geklicktes Item mit aktuellem ersetzten
      18. ListBox1.Items(iTempIndex) = ListBox1.Items(iLstIndex )
      19. ' zwischengespeichertes Item an vorige Position
      20. ListBox1.Items(iLstIndex ) = sTempItem
      21. ' neuen ListIndex setzten
      22. iLstIndex = iTempIndex
      23. End If
      24. End Sub