如何更改ObjectListView中单个单元格的BackColor / ForeColor

问题描述 投票:0回答:1

我正在尝试在ObjectListView中设置单元的前景色。在SO和其他网站中对此有疑问和答案,建议使用FormatCellObjectListView事件。如http://objectlistview.sourceforge.net/cs/recipes.html#how-can-i-change-the-colours-of-a-row-or-just-a-cell]中所述

我尝试过该代码,它可以工作,但是当需要重新绘制单元格时它们就可以工作(它们首先显示为黑色,并且每当我将鼠标移到它上面的每个项目都被称为该事件时)。但是我真的不需要Event,因为我想设置一个固定的颜色,例如:

 foreach (OLVListItem item in olv.Items)
      if (item.SubItems[7].Text != "")
      {
          if (item.SubItems[7].Text.StartsWith("-"))
              item.SubItems[7].ForeColor = Color.Red;
          else item.SubItems[7].ForeColor = Color.DarkGreen;
      }

但是上面的代码不会影响结果。

我正在尝试在ObjectListView中设置单元的前景色。在SO和其他网站中对此有疑问和答案,建议使用ObjectListView的FormatCell事件。照原样...

c# objectlistview
1个回答
0
投票

我发现答案是偶然通过其属性的。我将此添加为答案,以便对他人有所帮助。OLVListItem具有属性UseItemStyleForSubItems,默认情况下为true,其项目使用与ObjectListView相同的Font,ForeColor和BackColor。将其值设置为false有效:

© www.soinside.com 2019 - 2024. All rights reserved.