Tipp 0169 ListBox-Einträge verschieben
Autor/Einsender:
Datum:
  Michael Werner
16.09.2007
Entwicklungsumgebung:   VB.Net 2005
Framework:   2.0
Um markierte ListBox-Einträge nach oben oder unten zu verschieben, bedarf es nur weniger Zeilen Code. Über SelectedIndex = -1 wird zunächst geprüft, ob ein Eintrag markiert ist. Dann werden der ausgewählten Eintrag und sein Index  festgehalten und nach oben bzw. unten verschoben, indem der Index um 1 erhöht  oder vermindert wird und das Item-Objekt der ListBox.ObjectCollection neu zugewiesen wird.
 
''' <summary>
''' ItemMove(True/False)
''' Eintrag nach oben oder unten verschieben
''' </summary>
''' <param name="up"></param>
''' true = Eintrag nach oben verschieben
''' false= Eintrag nach unten verschieben
''' <remarks></remarks>

Sub ItemMove(ByVal up As Boolean)
  With ListBox1
    If .SelectedIndex = -1 Then
      MessageBox.Show("Bitte zuerst einen Eintrag markieren!", _
          "Markieren", MessageBoxButtons.OK, _
          MessageBoxIcon.Information)
      Exit Sub
    End If

    'Den ausgewählten Eintrag und seinen Index festhalten
    Dim sItem As Object = .SelectedItem
    Dim sIndex As Integer = .SelectedIndex

    If up = False Then
      If sIndex = 0 Then Exit Sub
      '1 nach unten verschieben
      .Items.Item(sIndex) = .Items.Item(sIndex - 1)
      .Items.Item(sIndex - 1) = sItem
      .SelectedIndex = sIndex - 1
    Else
      If sIndex = (.Items.Count - 1) Then Exit Sub
      '1 nach oben verschieben
      .Items.Item(sIndex) = .Items.Item(sIndex + 1)
      .Items.Item(sIndex + 1) = sItem
      .SelectedIndex = sIndex + 1
    End If
  End With
End Sub
 
Weitere Links zum Thema
ListBox numerisch sortieren
ListBox-Einträge speichern und einlesen
Mehrspaltige ListBox

Windows-Version
98/SE
ME
NT
2000
XP
Vista
Win 7


Download  (17,6 kB) Downloads bisher: [ 343 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Tipps | Projekte | Tutorials | Bücherecke | VB-/VBA-Tipps | API-Referenz | Komponenten | VB.Net-Forum | VB/VBA-Forum | DirectX-Forum | Foren-Archiv | DirectX | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 25. Dezember 2011