public Font AutoFontSize(Label label, String text)
{
Font ft;
Graphics gp;
SizeF sz;
Single Faktor, FaktorX, FaktorY;
gp = label.CreateGraphics();
sz = gp.MeasureString(text, label.Font);
gp.Dispose();
FaktorX = (label.Width) / sz.Width;
FaktorY = (label.Height) / sz.Height;
if (FaktorX > FaktorY)
Faktor = FaktorY;
else
Faktor = FaktorX;
ft = label.Font;
return new Font(ft.Name, ft.SizeInPoints * (Faktor) - 1);
}
// Label 크기가 ReSize 될때 마다 거기에 마춰서 Label Text 폰트 크기가 변환합니당.
private void Form1_Resize(object sender, EventArgs e)
{
string str = "kekekekekekekekekekek";
label1.Text = str;
label1.Width = panel1.Width;
label1.Height = panel1.Height;
label1.Font = AutoFontSize(label1, str);
}
// Text에 적히는 값이 Label Width에서 넘어가면 Label Text 폰트 크기가 변환합니당.
private void textBox1_TextChanged_1(object sender, EventArgs e)
{
label1.Text = textBox1.Text;
label1.Font = AutoFontSize(label1, textBox1.Text);
}
'프로그래밍 > C#' 카테고리의 다른 글
TimeSpan 시간 계산( 최근 파일 변경시간 표시) (1) | 2022.06.15 |
---|---|
C# DateTime Format (0) | 2020.01.09 |
문자열 시간 계산 (0) | 2015.09.18 |
HEX 문자열 BYTE 변환 (0) | 2015.07.10 |