调整 header 行颜色

Adjusting header row color

我在我的项目中使用 objectlistview,在构造函数中我有这样的代码:

foreach (OLVColumn item in olv.AllColumns)
{
    item.Width = -2;
    var headerstyle = new HeaderFormatStyle();
    headerstyle.SetFont(new Font(new FontFamily("Segoe UI"), 12.0f, FontStyle.Bold));
    headerstyle.SetBackColor(Color.FromArgb(16, 16, 16));
    headerstyle.SetForeColor(Color.White);
    item.HeaderFormatStyle = headerstyle;
}

这段代码为我的行提供了漂亮的背景色并设置了默认值。这有效,结果是这样的:

但在 header 行的末尾有这样的内容:

与白色(默认)背景颜色有一个小差距。我可以通过使类别列的大小稍微大一点来解决这个问题,但是允许用户隐藏和更改列的宽度,所以这不会解决我的问题。我怎样才能到达代码中的那个白点? 我检查了 http://objectlistview.sourceforge.net/cs/recipes.html#how-do-i-change-the-font-or-color-of-the-column-headers 但找不到解决方案。

通过将 属性 FillsFreeSpace 设置为 true,可以使列自动填充自由水平 space。

如果不希望主列之一拉伸到总宽度,可以插入一个 FillsFreeSpace 设置为 true 的虚拟列(带有空 header 文本)作为最后一列。可能建议将该列的 HideableIsEditable 设置为 false