Hallo zusammen,
ich habe Probleme mit meiner Funktion.
Und zwar schiebt diese Funktion ein ListViewItem entweder um eine Zeile nach oben oder um eine Zeile nach unten. Ich löse die Funktion in meinem Fall im KeyDown Ereignis der ListView aus.
Das komische ist, dass beim verschieben nach UNTEN alles problemlos abläuft. Aber wenn ich ein Item nach OBEN verschiebe, gelingt das zwar, jedoch nur genau ein Mal! Mir fällt direkt auf, dass das verschobene Item auch keinen Fokus hat. Ich müsste es also per Maus auswählen und dann erneut die Funktion auslösen. Kann mir da jemand weiterhelfen?
Aufruf:
Gruß
Tim
ich habe Probleme mit meiner Funktion.
Und zwar schiebt diese Funktion ein ListViewItem entweder um eine Zeile nach oben oder um eine Zeile nach unten. Ich löse die Funktion in meinem Fall im KeyDown Ereignis der ListView aus.
Das komische ist, dass beim verschieben nach UNTEN alles problemlos abläuft. Aber wenn ich ein Item nach OBEN verschiebe, gelingt das zwar, jedoch nur genau ein Mal! Mir fällt direkt auf, dass das verschobene Item auch keinen Fokus hat. Ich müsste es also per Maus auswählen und dann erneut die Funktion auslösen. Kann mir da jemand weiterhelfen?
VB.NET-Quellcode
- Private Sub MoveListViewItem(ByRef Lvw As ListView, ByVal ItemIndex As Integer, ByVal MoveDown As Boolean)
- Dim HoldItem As ListViewItem = Lvw.Items(ItemIndex)
- Lvw.Items.RemoveAt(ItemIndex)
- If MoveDown = False Then
- If ItemIndex > 0 Then
- Lvw.Items.Insert(ItemIndex - 1, HoldItem)
- Else
- Lvw.Items.Insert(ItemIndex, HoldItem)
- End If
- Else
- If (ItemIndex + 1) <= Lvw.Items.Count Then
- Lvw.Items.Insert(ItemIndex + 1, HoldItem)
- Else
- Lvw.Items.Insert(ItemIndex, HoldItem)
- End If
- End If
- End Sub
Aufruf:
Gruß
Tim