【问题标题】:Is it possible to custom draw a ListViewGroup是否可以自定义绘制 ListViewGroup
【发布时间】:2011-05-12 23:58:41
【问题描述】:

我在 .NET 2.0 上使用 System.Windows.Forms.ListView 控件。我知道我可以将 ListView 上的 OwnerDraw 属性设置为 true,然后重写 OnDrawItem 以自定义绘制我的 ListViewItems。我还可以覆盖 OnDrawColumnHeader 和 OnDrawSubItem 来绘制这些组件。

但是,如果我想自定义绘制我的 ListViewGroups,则没有等效的“OnDrawGroup”方法可以覆盖。

我简要查看了此控件使用的消息,发现有 WM_CUSTOMDRAW 和 CDDS_ITEMPREPAINT 通知,但我想知道是否有办法处理这些本机消息以自定义绘制我的 ListViewGroups?

【问题讨论】:

    标签: c# winforms listview


    【解决方案1】:

    我不相信使用内置机制这是可能的。我认为您必须自己绘制所有内容。

    【讨论】:

      【解决方案2】:

      就是做不到。

      您无法通过自己绘制所有内容,或者通过下拉处理WM_CUSTOMDRAW 甚至使用undocumented ListView interfacesused here 来做到这一点。

      这个讨论已经出现了好几次 (here for example)。 ListView 中的组标题是奇怪的野兽。在 XP 中,您最多可以设置它们的颜色(甚至不能设置它们的字体),但从 Vista 开始,您绝对无能为力。

      【讨论】:

        猜你喜欢
        • 2013-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-02
        • 2021-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多