使用 C# Winforms (3.5)。
是否可以将行颜色设置为在 ListView 中自动交替?
或者我是否需要在每次向 ListView 添加新行时手动设置行颜色?
基于 MSDN article 手动方法如下所示:
//alternate row color
if (i % 2 == 0)
{
lvi.BackColor = Color.LightBlue;
}
else
{
lvi.BackColor = Color.Beige;
}
最佳答案
将 ListView OwnerDraw 属性设置为 true,然后实现 DrawItem 处理程序:
private void listView_DrawItem(object sender, DrawListViewItemEventArgs e)
{
e.DrawDefault = true;
if ((e.ItemIndex%2) == 1)
{
e.Item.BackColor = Color.FromArgb(230, 230, 255);
e.Item.UseItemStyleForSubItems = true;
}
}
private void listView_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
e.DrawDefault = true;
}
这个例子很简单,你可以改进它。
关于c# - Winforms - 如何改变 ListView 控件中行的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2866730/