Diese Funktion bewegt alle ausgewählten ListView Items entweder um eine Zeile nach oben oder nach unten.
''' <summary>
''' Diese Funktion bewegt alle ausgewählten ListView Items entweder
''' um eine Zeile nach oben oder nach unten.
''' </summary>
''' <param name="LVW">Die Listview dessen ausgewählte ListView Items verschoben werden sollen</param>
''' <param name="Down">
''' Gibt an ob die Items um eine Zeile nach unten verschoben werden sollen.
''' Bei False werden die Items um eine Zeile nach oben verschoben
''' </param>
Public Sub MoveSelectedLVWItems(ByVal LVW As ListView, Optional ByVal Down As Boolean = False)
Dim OldItem As ListViewItem
Dim OldPos As Integer
Dim i As Integer
If LVW.SelectedItems.Count > 0 Then
LVW.Sorting = SortOrder.None
If Down = True Then
If LVW.SelectedItems(LVW.SelectedItems.Count - 1).Index < LVW.Items.Count - 1 Then
For i = LVW.SelectedItems.Count - 1 To 0 Step -1
OldItem = LVW.Items(LVW.SelectedItems(i).Index + 1)
OldPos = LVW.Items(LVW.SelectedItems(i).Index).Index
LVW.Items(OldPos + 1) = LVW.SelectedItems(i).Clone
LVW.Items(OldPos) = OldItem
LVW.Items(OldPos + 1).Selected = True
Next
End If
Else
If LVW.SelectedItems(0).Index > 0 Then
For i = 0 To LVW.SelectedItems.Count - 1
OldItem = LVW.Items(LVW.SelectedItems(i).Index - 1)
OldPos = LVW.Items(LVW.SelectedItems(i).Index).Index
LVW.Items(OldPos - 1) = LVW.SelectedItems(i).Clone
LVW.Items(OldPos) = OldItem
LVW.Items(OldPos - 1).Selected = True
Next
End If
End If
LVW.Focus()
End If
End Sub
Kommentare zum Snippet