Farben (Color) und Schriftarten (Font) der Zeilen (ListViewItem) und Spalten (ListViewSubItem) eines ListViews anpassen

Im ersten Beispiel wird ein bestehendes ListViewsItem komplett eingefärbt.

// das erste ListViewItem in der Liste nehmen und eine Farbe zuweisen
ListViewItem lvi = ListView1.Items[0];
lvi.ForeColor = SystemColors.WindowText;

Im zweiten Beispiel wird eine komplette Zeile (ListViewItem) eines ListViews hinzugefügt und blau gefärbt.

// ListViewItem mit drei Spalten hinzufügen
// vorrausgesetzt, das ListView hat die Eigenschaft
// ListView1.View = View.Details;
// in diesem Fall wird das ListViewItem blau gefärbt, der Hintergrund ist eine Systemfarbe,
// Schrift ist die eingestellte vom ListView
ListView1.Items.Add(new ListViewItem(new string[] { "item", "value", "remark" }, 0, Color.Blue, SystemColors.Window, ListView1.Font ));

Im dritten Beispiel wird ein ListViewItem hinzugefügt und jede Spalte (SubItem) des ListViewsItems verschieden gefärbt.

// ListViewItem mit drei Spalten hinzufügen
// vorrausgesetzt, das ListView hat die Eigenschaft
// ListView1.View = View.Details;
// Spalte 0 == rot, der Hintergrund ist die eingestellte Hintergrundfarbe,
// Spalte 1 == grün, der Hintergrund ist die eingestellte Hintergrundfarbe,
// Spalte 0 == gelb, der Hintergrund ist die eingestellte Hintergrundfarbe,
// Schrift ist immer die eingestellte vom ListView
ListViewItem lvi = new ListViewItem(new string[] { "Spalte 0" }, 0, ListView1.BackColor, Color.Red, ListView1.Font);
lvi.UseItemStyleForSubItems = false; // wichtig, damit die eingenen Farbeinstellungen angenommen werden
lvi.SubItems.Add(new ListViewItem.ListViewSubItem(lvi, "Spalte 1", ListView1.BackColor, Color.Green, ListView1.Font));
lvi.SubItems.Add(new ListViewItem.ListViewSubItem(lvi, "Spalte 2", ListView1.BackColor, Color.Yellow, ListView1.Font));
ListView1.Items.Add(lvi);