在花费大量时间搜索此功能后:
我想如果有人能给我最好的方法,那就太好了。是否有可以根据任何窗体控件(标签/按钮)的大小动态调整字体大小的功能?
这是我在网上研究后得到的,不幸的是,当控件重新调整大小时,这些代码在运行时给出了很多异常。
public void textAdjustment()
{
try
{
while (this.label.Width < System.Windows.Forms.TextRenderer.MeasureText(this.label.Text,
new Font(this.label.Font.FontFamily, this.label.Font.Size, this.label.Font.Style)).Width)
{
this.label.Font = new Font(this.label.Font.FontFamily, this.label.Font.Size - 1.0f, this.label.Font.Style);
}
if (this.label.Width > System.Windows.Forms.TextRenderer.MeasureText(this.label.Text, new Font(this.label.Font.FontFamily, this.label.Font.Size, this.label.Font.Style)).Width)
{
this.label.Font = new Font(this.label.Font.FontFamily, this.label.Font.Size + 0.1f, this.tableLabel.Font.Style);
}
if (this.label.Height < System.Windows.Forms.TextRenderer.MeasureText(this.label.Text, new Font(this.label.Font.FontFamily, this.label.Font.Size, this.label.Font.Style)).Height)
{
this.label.Font = new Font(this.label.Font.FontFamily, this.label.Font.Size - 0.6f, this.label.Font.Style);
}
}
catch (Exception e)
{
this.label.Font = Control.DefaultFont;
}
}
我不认为我解决这个问题的方法是正确的,有没有人知道即使在运行时增加和减少控件大小也会调整字体大小基础的方法?我个人认为这篇文章将是一个非常好的帖子,供其他人参考。