Entwickler-Ecke

WinForms - Problem mit ListViewItems


DonKnilch - Fr 28.09.07 12:11
Titel: Problem mit ListViewItems
Hi,

Ich habe eine ListView mit mehreren Einträgen. Hin und wieder nehme ich zur Laufzeit einige Einträge heraus, möchte diese aber später wieder einsetzen. Das Problem habe ich beim resetten: Das Einfügen der Einträge ist kein Problem, allerdings ist jeder Eintrag in einer anderen Farbe dargestellt (ursprünglich, soll auch so sein, Also ist der Eintrag "Rot" in roter Farbe geschrieben). Wenn ich jetzt aber wieder die hinausgenommenen Einträge einfüge, dann übernimmt er immer für alle Einträge, die eingefügt werden, die Farbe des letzten Eintrags.

Beispiel:

C#-Quelltext
1:
2:
3:
4:
5:
listView1.ForeColor = System.Drawing.Color.Red;
listView1.Items.Add("Rot")

listView1.ForeColor = System.Drawing.Color.Blue;
listView1.Items.Add("Blau")


Wenn ich das so mache, dann packt er beide Einträge in Blau rein. Was muss ich da anders machen oder noch hinzufügen?

Vielen Dank

MfG
DonKnilch

Moderiert von user profile iconTino: CS-Tags hinzugefügt.


Orothred - Fr 28.09.07 12:17

also ich kann dir zwar keine lösung für dein problem sagen, aber die ursache glaube ich zu wissen.

du setzt mit listView1.Forecolor = System.Drawing.Color.Red die Schriftfarbe des ListView auf rot.

dann setzt du mit listView1.Forecolor = System.Drawing.Color.Blue die Schriftfarbe auf blau. das gilt aber für das gesamte ListView. Du müsstest also die Farbeigenschaft der einzelnen Einträge ändern. Such mal nach listView.Items oder so, ob du da was ändern kannst

Moderiert von user profile iconTino: CS-Tags hinzugefügt.


DonKnilch - Fr 28.09.07 12:37

Danke erstmal für die Antwort.

Ja, das habe ich mir auch schon gedacht, aber leider finde ich keine Farbeigenschaften für die einzelnen Items. Die Einträge, die sich noch in dem ListView befinden, sind von der neuen Farbeinstellung jedoch nicht betroffen, sondern nur die neuen Elemente.


Orothred - Fr 28.09.07 12:39

das wird ja immer mysteriöser ^^


Kha - Fr 28.09.07 13:05

user profile iconDonKnilch hat folgendes geschrieben:
Ja, das habe ich mir auch schon gedacht, aber leider finde ich keine Farbeigenschaften für die einzelnen Items.
:gruebel: ? ListViewItem.ForeColor


DonKnilch - Mo 15.10.07 12:09

Danke für den Tipp, habe es jetzt etwas anders gelöst, aber eben auch über die einzelnen Elemente. Ich habe immer das neue Element eingefügt und dann danach das letzte Element der Liste (also das gerade neu eingefügte) angesprochen. Damit funktioniert das.