-
C# Font 사이즈 컨트롤 크기에 맞게 자동조절프로그래밍/C# 2016. 8. 12. 17:12
레이블 size를 autosize로 하면 폰트에 따라서 레이블 크기가 달라지는데
아래소스는 반대로 레이블 크기에 맞춰서 폰트사이즈가 조절되게 하는 것이다.
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#' 카테고리의 다른 글
C# ini 파일 읽고 쓰기 (0) 2016.08.18 C# 현재위치(경로) 가져오는 방법 (0) 2016.08.16 C# Font 사이즈 컨트롤 크기에 맞게 자동조절 (0) 2016.08.12 C# 폼 이동 방법 (0) 2016.07.19 C# WindowsForm에서 배경 투명하게 하는 방법 (0) 2016.07.19 C# Resources에서 이미지 파일 불러오기 (0) 2016.07.19 TAG