更改ListView列的列高

时间:2012-02-13 11:25:58

标签: c# winforms listview

参考我之前的问题:Changing Font Size for ListView Column in C#。我想知道如何在启用OwnerDraw的情况下更改listView中列的高度。

我已成功使用以下代码更改字体。

        using (Font headerFont =
                new Font("Helvetica", 10, FontStyle.Bold)) //Font size!!!!
    {
        e.Graphics.DrawString(e.Header.Text, headerFont,
            Brushes.Black, e.Bounds, sf);
    }

虽然我无法改变色谱柱的大小,但却给它一个截止效果。我一直在使用Rectangle.Bounds属性,但这似乎是只读的。

有什么建议吗?

由于

2 个答案:

答案 0 :(得分:1)

我决定为我的申请采取另一种方法。我选择完全删除标题并将其替换为Container Panel中的标签。

这是通过将listView的 HeaderStyle 属性更改为“None”来实现的。结果允许我将标签停靠在listView的顶部,给我更大的文字,我一直在追求!

当然这与提出的问题略有不同,但为看似复杂的问题提供了一个简单的解决方案!此外,这会使列标题静态,因此可能无法用于开发需要大量更改的应用程序

感谢您的帮助,如果您想了解更多详情,请与我们联系

Euan

答案 1 :(得分:0)

您可以尝试Better ListView Express。它允许将列标题高度更改为任意大小。它也是免费的,使用率与ListView相同99%。