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