diff --git a/ToolCollection/frmNIVerknuepfungen.vb b/ToolCollection/frmNIVerknuepfungen.vb index f302aa6..a0be36a 100644 --- a/ToolCollection/frmNIVerknuepfungen.vb +++ b/ToolCollection/frmNIVerknuepfungen.vb @@ -657,25 +657,35 @@ Public Class frmNIVerknuepfungen If LVW.SelectedItems.Count > 0 Then LVW.Sorting = Windows.Forms.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 + If LVW.SelectedItems(0).Index = LVW.Items.Count - 1 Then Return + Dim index = LVW.SelectedItems(0).Index + + LVW.BeginUpdate() + Try + Dim item = LVW.SelectedItems(0) + LVW.Items.RemoveAt(index) + LVW.Items.Insert(index + 1, item) + item.Selected = True + item.Focused = True + item.EnsureVisible() + Finally + LVW.EndUpdate() + End Try 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 + If LVW.SelectedItems(0).Index = 0 Then Return + Dim index = LVW.SelectedItems(0).Index + + LVW.BeginUpdate() + Try + Dim item = LVW.SelectedItems(0) + LVW.Items.RemoveAt(index) + LVW.Items.Insert(index - 1, item) + item.Selected = True + item.Focused = True + item.EnsureVisible() + Finally + LVW.EndUpdate() + End Try End If '' definieren das am aktuellen Profil Änderungen vorgenommen wurden Me._selectedProfil.setChanged()