标签(Compact Framework)的实时大小

我指的是Visual Studio设计视图。 使用完整的.NET框架添加标签时,默认情况下, System.Windows.Forms.Label控件的AutoSize属性设置为True。 如果我将一个Label控件拖放到表单上,则默认字体为“Microsoft Sans Serif,12pt,Regular”,控件的高度为20.将字体更改为(比如说)“Tahoma,14pt,Bold”和高度改为23.好。

但是在CF(Compact-Framework)中, Label控件没有AutoSize属性。 当我如上所述改变字体时, Label的高度不变(保持在20),并且一些文字被切掉)。

我的问题是:在打开完整的.NET项目和测试我的字体选择之后,有没有办法知道在设计时什么高度来设置我的Label


您可以使用图形对象来测量字符串的高度,例如在Paint事件或OnPaint方法中:

Graphics g = e.Graphics;
float lineHeight = g.MeasureString(this.Text, this.Font).Height;

它可以用于继承标签。 例如,您可以重写OnPaint方法或其他地方并执行此操作,然后它将在设计时运行。

更多资源:

  • 基于紧凑框架中的字体高度
  • 除此之外,您可以在使用coredll.dll DrawText .Net CF上查看Multi-Line Graphics.MeasureString。
  • 链接地址: http://www.djcxy.com/p/53701.html

    上一篇: time size of Label (Compact Framework)

    下一篇: Does C# 6.0 work for .NET 4.0?