C#ObjectListView BackColor(Windows窗体)

时间:2017-09-28 19:57:01

标签: c# windows-forms-designer objectlistview

所以我想设置整行的特定背景颜色。

我已经通过实现以下代码实现了这一目标:

foreach(var model in modelList)
            objectListView1.BackColor = model.RowColor;
            objectListView1.AddObject(model);

这是按预期工作的。它将遍历我的模型列表并添加分配给它的行颜色。所以我的OLV突出显示了2行。

问题在于当我将鼠标悬停在行上时,它将返回白色。当我执行操作并将BackColor重置为默认值时,似乎OLV正在刷新。

如何防止这种情况发生?

1 个答案:

答案 0 :(得分:1)

如果您想根据型号永久设置行颜色.RowColor使用FormatRow event

然后你可以这样做:

private void olv1_FormatRow(object sender, FormatRowEventArgs e) {
    e.Item.BackColor = model.RowColor;
}