You can also use the ownerβs drawing, rather than setting properties explicitly. Owner pattern is less vulnerable to reordering items.
Here's how to do it in Better ListView (a third-party component that offers both free and advanced versions) - it's just a matter of handling the DrawItemBackground event:
private void ListViewOnDrawItemBackground(object sender, BetterListViewDrawItemBackgroundEventArgs eventArgs) { if ((eventArgs.Item.Index & 1) == 1) { eventArgs.Graphics.FillRectangle(Brushes.AliceBlue, eventArgs.ItemBounds.BoundsOuter); } }
result:

Libor source share