2
我有一個應用程序,其中每5秒在按鈕上設置不同長度的文本。 如何調整文本大小以適合按鈕。 (我的按鈕尺寸在調整窗口大小上增加,因爲我已經使用了Dock屬性)通過動態更改字體大小來調整調整大小的按鈕控件中的文本
以下是我用來做它的代碼,但它不工作當文本長度爲2以下的罰款。(文彈出有點出入控制的)
public static void FitControlFont(Control control)
{
if (control.Text.Length == 0)
{
return;
}
try
{
Font currentFont = control.Font;
Graphics graphics = control.CreateGraphics();
SizeF newSize = graphics.MeasureString(control.Text, control.Font);
graphics.Dispose();
float factorX = control.Width/newSize.Width;
float factorY = control.Height/newSize.Height;
float factor = factorX > factorY ? factorY : factorX;
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(delegate { control.Font = new Font(currentFont.Name, currentFont.SizeInPoints * factor); }));
}
else
{
control.Font = new Font(currentFont.Name, currentFont.SizeInPoints * factor);
}
}
catch (Exception ex)
{
if (Exceptions.IsCritical(ex))
{
throw;
}
return;
}
}
自動調整大小=真dosent化妝SENCE作爲大小取決於如我已經使用塢屬性窗口的大小。 –
您可以將寬度適合文本,但不能將文本適合寬度。如果您設置了dock屬性,則Autosize屬性沒有任何意義。 – user3185569
是的,但我想在這裏是動態減少或增加字體大小,以便它可以正確地適合按鈕。 –