使标签大小适合绘制的文本
本文关键字:绘制 文本 标签 | 更新日期: 2023-09-27 18:24:43
我使用标签向用户显示进度。这种情况发生多次,并且部分用户定义的文本每次都会更改。
问题:我应该知道绘制的文本是否大于标签的大小。
我尝试过这种方法:
using (Graphics g = lbl.CreateGraphics()) {
SizeF size = g.MeasureString(lbl.Text, lbl.Font);
// Change size of label if too small
}
但是它太慢了,每次更新调用时都会占用大量资源。
那么,有没有办法找出绘制的文本何时大于标签?
编辑:
正如Hans Passant所说,AutoSize
将做到这一点。
对不起,我没有说标签下面的其他控件必须移动。
似乎没有其他方法可以做到这一点。
所以我不得不使用上面的解决方案:
using (Graphics g = lbl.CreateGraphics()) {
SizeF size = g.MeasureString(lbl.Text, lbl.Font);
// Change size of label if too small
}