我指的是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
的高度?
答案 0 :(得分:2)
您可以使用图形对象来衡量字符串的高度,例如在Paint
事件或OnPaint
方法中:
Graphics g = e.Graphics;
float lineHeight = g.MeasureString(this.Text, this.Font).Height;
它可以在继承的标签中使用。例如,您可以覆盖OnPaint
方法或其他地方并执行此操作,然后它将在设计时运行。
更多资源:
DrawText
中coredll.dll
的{{3}}。