2013-01-14 2 views
0

프로젝트에서 런타임에 레이블을 만들어야합니다. 이들은 데이터베이스의 필드에 따라 다른 높이를가집니다. 레이블에 텍스트를 써야하지만, 레이블의 높이가 작은 경우 레이블 높이에 따라 글꼴의 크기를 조정해야합니다.글꼴 높이 설정

이걸로 시도했다 :

Label lbl = new Label(); 
lbl.AutoSize = false; 
lbl.Font = new System.Drawing.Font(lbl.Font.FontFamily, Convert.ToSingle(lbl.Height/2)); 
lbl.TextAlign = ContentAlignment.MiddleCenter; 
+1

정확한 중복은 아니지만이 질문을 확인하십시오. http://stackoverflow.com/questions/2628725/autofit-label-font-size –

답변

1

당신은 글꼴의 높이를 변경하려면 FontHeight 속성을 사용할 수 있습니다. 이것은 일을 할 수 있습니다.

MSDN :

가져 컨트롤의 폰트의 높이를 설정한다. ... FontHeight 속성은 컨트롤의 Font.Height 값 또는 -1 이외의 값으로 설정하면 안됩니다. FontHeight를 -1로 설정하면 캐시 된 높이 값을 지우는 효과가 이고 값은 입니다. 다음에 속성이 참조 될 때 다시 계산됩니다.

0

Label.AutoSize를 false로 설정하면 레이블 높이를 프로그래밍 방식으로 설정해야합니다. Label.Height는 기본값 (23과 비슷한 값)이므로 Label.Height를 사용하여 글꼴 크기를 결정할 수 없습니다. 데이터베이스에서 읽은 높이와 일치하지 않습니다.

레이블 높이를 지정하는 데 사용하는 데이터베이스의 필드가 정확히 무엇입니까? 어떤 단위입니까? 게시 한 코드에서 데이터베이스 필드를 사용하고 있지 않습니다.

+0

데이터베이스에서 읽은 높이가 픽셀이며, 데이터베이스 필드가 없으므로 중요하지 않습니다. 결과는 lbl.Height = 23과 같습니다. – ghiboz