代码之家  ›  专栏  ›  技术社区  ›  Mohammad Dayyan

ListView C#(.Net 3.5)中的备用颜色?

  •  3
  • Mohammad Dayyan  · 技术社区  · 14 年前

    我要给ListView行设置另一种颜色。
    我看到了 this link

    我使用了以下代码,但它在ListView排序方面有问题

    ListViewItem newListViewItem = new ListViewItem(
        new string[] { item.name.ToString(), 
                       item.code.ToString() });
    newListViewItem.BackColor = new Color(240,240,240);
    newListViewItem.UseItemStyleForSubItems = true;
    newListViewItem.Font = new Font("Tahoma", 9);
    listView1.Items.Add(newListViewItem);
    

    你能指导我怎么做吗?

    2 回复  |  直到 14 年前
        1
  •  9
  •   Hans Passant    14 年前

    从你的片段来看还不太清楚,但我猜你想要交替的颜色。偶数项以一种方式着色,奇数项以另一种方式着色。是的,当视图中有大量列时,作为阅读指南非常有效。

    是的,当你整理物品的时候会搞砸的。排序之后,您将需要一个简单的for循环来更改BackColor属性。

        private static void recolorListItems(ListView lv) {
            for (int ix = 0; ix < lv.Items.Count; ++ix) {
                var item = lv.Items[ix];
                item.BackColor = (ix % 2 == 0) ? Color.Beige : Color.White;
            }
        }
    

        2
  •  -1
  •   anivas    14 年前

    这是一个简单的方法-> Alternate background