유용한 정보

[C#] 컨트롤에 들어갈 문자열에서 가장 큰 폭과 높이 구하기

DevReff 2025. 4. 16. 05:18
728x90
728x90
SMALL

1. 소스

/// <summary>
/// 컨트롤에 들어갈 문자열에서 가장 큰 폭과 높이를 구한다.
/// </summary>
/// <param name="strings">문자열</param>
/// <param name="ctrl">컨트롤</param>
/// <returns>폭과 높이</returns>
static public SizeF GetMaxSize(IEnumerable<string> strings, Control ctrl)
{
try
{
float wi = float.MinValue, hi = 0;
foreach (string v in strings)
{
SizeF size = GetStringSize(v, ctrl);
hi += size.Height;
if (size.Width > wi)
wi = size.Width;
}

return new SizeF(wi, hi);
}
catch (Exception ex)
{
KLog.Write(ex.ToString());
}

return SizeF.Empty;
}

반응형

 

2. 사용예제


/// <summary>
/// 메뉴의 크기를 조정한다.
/// </summary>
void SetAutoSize()
{
var size = GetMaxSize(MnuNames, DGV_MENU);
this.Width = (int)size.Width;
this.Height = (int)size.Height;
}

728x90
728x90
LIST