【问题标题】:Alternate Color in ListView C# (.Net 3.5)?ListView C#(.Net 3.5)中的替代颜色?
【发布时间】:2011-04-29 16:42:50
【问题描述】:

我将为我的 ListView 行设置另一种颜色。
我看到了this link,但我使用的是 .Net Framework 3.5 SP1,所以我不能使用它。

我使用了以下代码,但 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);

你能指导我怎么做吗?

【问题讨论】:

    标签: c# listview background-color


    【解决方案1】:

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

    【讨论】:

    • 该链接是 WPF 的,我想在 WinForms 中。
    【解决方案2】:

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

    是的,当您对项目进行分类时,这会被搞砸。排序后,您需要一个简单的 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;
            }
        }
    

    排序后调用它。或者在填充 ListView 之后。我不喜欢颜色,请选择你自己的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2014-11-30
      相关资源
      最近更新 更多