网上好多代码都实现不了,一运行就变成了底色,自己摸索了哈,很简单。
先将OwnerDraw设为True。然后写下面代码。
/// <summary>
/// 绘制隔行颜色
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
{
if(e.Item.Selected)
{
SolidBrush brush = new SolidBrush(Color.FromArgb(204,213,240));
e.Graphics.FillRectangle(brush, e.Bounds); //选择后的颜色
}
else
{
if (e.ItemIndex % 2 == 0)
e.Graphics.FillRectangle(Brushes.White, e.Bounds); //间隔色
else
e.Graphics.FillRectangle(Brushes.WhiteSmoke, e.Bounds);
}
e.DrawText(TextFormatFlags.Default);
}