我想知道是否有更好的方法来解决这个问题。我想调整标签的大小(垂直)以容纳一定数量的文本。我的标签具有固定宽度(在必须换行之前大约 60 个字符宽),大约 495 像素。字体也是固定大小(据我所知是 12 点),但文本不是。
我想要做的是当有“换行”或文本必须换行时增加标签高度;这个想法是文本在标签中完全可见。 AutoSize 不起作用,因为它会增加宽度,而不是高度。
当然,我可以计算 NewLines 的数量并添加:Newlines * LineHeight,然后考虑到我设法在每行放置 60 个字符,只需除以字符数并根据需要添加尽可能多的 LineHeight 像素。
我想知道是否有更专业的方法可以做到这一点。我的做法是不是太“蹩脚”了?
提前致谢。
怎么样Graphics.MeasureString
,带有接受字符串、字体和最大宽度的重载?这会返回一个SizeF
,这样您就可以四舍五入Height
.
using(Graphics g = CreateGraphics()) {
SizeF size = g.MeasureString(text, lbl.Font, 495);
lbl.Height = (int) Math.Ceiling(size.Height);
lbl.Text = text;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)