如何设置Listview控件列的背景色?

时间:2019-01-06 16:55:11

标签: c# visual-studio winforms

我有一个包含ListView控件的Windows窗体。我正在使用下面的代码用交替的颜色设置listview控件的行:

public void SetAlternateColors(ListView lView, Color evenRowColor, Color oddRowColor)
{
    //loop through each ListViewItem in the ListView control
    foreach (ListViewItem lvi in lView.Items)
    {
        lvi.UseItemStyleForSubItems = true;
        if ((lvi.Index % 2) == 0)
            lvi.BackColor = evenRowColor;
        else
            lvi.BackColor = oddRowColor;
    }
}

由于listview具有交替的行颜色,现在我想设置背景色 就像下面显示的图像一样。可以在列表视图控件中这样做吗?请提供一些代码。 enter image description here

1 个答案:

答案 0 :(得分:0)

您可以将其设置为ListViewItem.SubItem [x] .BackColor。例如,如果我需要为ListView的前三列设置不同的颜色,则可以执行以下操作。

 foreach (ListViewItem item in listView1.Items)
 {
   item.SubItems[0].BackColor = Color.Green;
   item.SubItems[1].BackColor = Color.Blue;
   item.SubItems[2].BackColor = Color.Orange;
   item.UseItemStyleForSubItems = false;
 }

请注意,您还需要设置UseItemStyleForSubItems = false