如何在betterlistview控件中隐藏组头的垂直网格线?

时间:2014-09-30 02:28:44

标签: c# .net listview better-listview

我在.net应用程序中使用betterlistview控件。与群组一起使用时,我需要有关网格线的帮助。我正在使用详细信息视图,并且gridlines属性设置为" grid"。我还将组添加到列表中。问题是垂直网格线也显示在组头区域旁边,这使得组看起来不那么优雅而且不太清晰。此外,该组的第一个行项目不显示上部水平网格线。任何帮助将不胜感激。以下是我正在处理的列表视图的快照:

Betterlistview with gridlines and groups

1 个答案:

答案 0 :(得分:1)

经过多次努力,我终于通过电子邮件发送了组件Owl(开发出更好的listview控件的公司)支持团队并得到了快速回复。我希望它可以帮到某个人,所以我引用了Libor Tinka先生(ComponentOwl.com首席开发人员)的答案:

“不支持这个框,但可以使用自定义绘图擦除不需要的网格线。只需将BetterListView子类化并添加OnDrawGroup方法覆盖:

protected override void OnDrawGroup(BetterListViewDrawGroupEventArgs eventArgs)
{
    eventArgs.Graphics.FillRectangle(SystemBrushes.Window, eventArgs.GroupBounds.BoundsInner);
    base.OnDrawGroup(eventArgs);
}

请注意,在自定义绘图后调用base.OnDrawGroup。这样可以确保我们不会替换组标题的文本,图像和其他功能。

结果如下:“

enter image description here