我寫了基於this link的代碼片段,可以幫助你:
using System.Drawing;
public partial class Form1 : Form
{
public int initialWidth;
public int initialHeight;
public float initialFontSize;
public Form1()
{
InitializeComponent();
AutoScaleMode = AutoScaleMode.None;
// Sets the initial size of the variables
initialWidth = Width;
initialHeight = Height;
initialFontSize = LabelFont.Font.Size;
LabelFont.Resize += LabelFont_Resize;
}
private void LabelFont_Resize(object sender, EventArgs e)
{
SuspendLayout();
// Get the proportionality of the resize
float proportionalNewWidth = (float)Width/initialWidth;
float proportionalNewHeight = (float)Height/initialHeight;
// Calculate the current font size
LabelFont.Font = new Font(LabelFont.Font.FontFamily, initialFontSize *
(proportionalNewWidth > proportionalNewHeight ? proportionalNewHeight : proportionalNewWidth),
LabelFont.Font.Style);
ResumeLayout();
}
}
使用標籤大小調整的這種方法,你確定變化的比率,並從中確定一個新的字體。我希望這能解決你的問題。
你能告訴我們你的代碼嗎?我知道這可以做到... – egrunin