代码之家  ›  专栏  ›  技术社区  ›  jgallant

根据字符数自动调整列大小

  •  0
  • jgallant  · 技术社区  · 16 年前

    我试图找到在ReportViewer中以编程方式重新调整表列标题大小的最佳方法。

    基本上,我目前的解决方案如下:

    ColumnWidth = HeaderCaption_CharacterCount * 0.32
    

    其中0.32是使用当前字体大小的典型字符的估计宽度。 问题是宽度为较长的标题保留了大量空白。标题中的字符越多,我得到的空白就越多。

    这样估计的问题是,并非所有字符的宽度都相同。“i”字符就是一个很好的例子,它比字母表的其余部分占用的屏幕宽度要小。

    有人能提出一个更好的方法吗?

    编辑 我找到了一个更好的方法来处理这个问题。 有一种方法可以计算文本字符串的宽度(以像素为单位)。

    Size = TextRenderer.MeasureText([String], [Font])
    

    我目前正在试验这个,它看起来很有前途。

    1 回复  |  直到 13 年前
        1
  •  0
  •   Siddharth Rout    13 年前

    Size = TextRenderer.MeasureText([String], [Font])

    函数用指定的字体计算指定字符串的宽度。