在 C# 中更改 ListView 列的字体大小

mac*_*aee 2 c# fonts listview winforms

我正在创建一个简单的 GUI,其中包含一个将与触摸屏显示器一起使用的 listView。因此我要求文本很大,以便于阅读和选择。我可以更改listView 的Font属性来增加其大小,尽管这也会按比例增加列标题字体大小(使字母对于空间来说太大)。

是否有一种方法可以仅更改 listView 项目的字体大小和/或更改列的文本空间大小以适应更大的字母?

我想我可以使用ListBox.DrawColumnHeader事件来实现此目的,但我不知道如何将其拼凑在一起!

提前致谢

jlv*_*ero 5

这可以帮助:

// Draws column headers.
private void listView1_DrawColumnHeader(object sender,
    DrawListViewColumnHeaderEventArgs e)
{
    using (StringFormat sf = new StringFormat())
    {
        // Store the column text alignment, letting it default
        // to Left if it has not been set to Center or Right.
        switch (e.Header.TextAlign)
        {
            case HorizontalAlignment.Center:
                sf.Alignment = StringAlignment.Center;
                break;
            case HorizontalAlignment.Right:
                sf.Alignment = StringAlignment.Far;
                break;
        }

        // Draw the standard header background.
        e.DrawBackground();

        // Draw the header text.
        using (Font headerFont =
                    new Font("Helvetica", 10, FontStyle.Bold)) //Font size!!!!
        {
            e.Graphics.DrawString(e.Header.Text, headerFont,
                Brushes.Black, e.Bounds, sf);
        }
    }
    return;
}
Run Code Online (Sandbox Code Playgroud)

请参阅msdn了解更多信息。