ListViewItem Farbe abwechselnd

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von tuvok.

    ListViewItem Farbe abwechselnd

    Also ich habe ein ListView mit 20 Einträgen, nun wollte ich das das erste item Blau ist das tweite grün das dritte blau usw.

    Wenn ich ein ListViewItem auswähle weiß ich ja wie das geht aber der soll das immer abwechselnd blau und grün machen.

    Für das Ganze listView geht das ja so

    VB.NET-Quellcode

    1. Dim Blue As Color = Color.FromArgb(255, 27, 184, 218)
    2. lvLog.BackColor = Blue


    und für ein einzelnes item so

    VB.NET-Quellcode

    1. Dim Blue As Color = Color.FromArgb(255, 27, 184, 218)
    2. lvLog.FocusedItem.BackColor = Blue


    Aber wie lasse ich es nun automatisch die ListView einträge einfärben immer blau - grün - blau usw ?
    Jedes Item durchlaufen und checken, ob der Index gerade oder ungerade ist.
    Jenachdem einfach blau oder grün als Hintergrundfarbe.
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Du kannst die ListView-Einträge mit do...while färben und z. B. eine Integer-Variable (counter) = 0 benutzen. Dann schaust du immer mit Modulo, ob der Rest 0 ist (grün färben) oder 1 (blau färben)

    VB.NET-Quellcode

    1. Dim counter as integer = 0
    2. do while counter <> ListView1.Items.Count
    3. 'Wenn der Rest der Division 0 ist
    4. if counter+1 mod 2 = 0 then
    5. 'Grün färben
    6. else
    7. 'Blau färben
    8. End if
    9. counter+=1
    10. loop
    Tag,
    sorry wenn ich die olle Kamelle noch mal aufrufe und darin schreibe

    punkt schrieb:

    VB.NET-Quellcode

    1. For i = 0 To ListView1.Items.Count - 1
    2. If i Mod 2 = 0 : ListView1.Items.Item(i).BackColor = Color.Gray 'farbe1
    3. Else : ListView1.Items.Item(i).BackColor = Color.LightGray 'farbe2
    4. End If
    5. Next


    der Code funktioniert ja soweit .. aber immer die letzte Zeile bzw. das letzte Row will sich nicht einfärben lassen .. und ich versteh nicht wieso hat da mal jemand nen Tipp?