2010-03-28 6 views
3

일부 레이블이있는 사용자 지정 컨트롤을 구현 중이므로 최적의 레이아웃을 갖기 위해 해당 레이블의 크기를 측정해야합니다. 이 방법으로 각 글꼴 및 글꼴 크기에 대한 컨트롤을 올바르게 표시 할 수 있습니다.
어떻게 할 수 있습니까?
감사합니다.레이블 크기 측정

답변

2

올바른 방법을 찾아보고 준비 할 수는 MeasureOverrideArrangeOverride을 무시하는 것입니다.

은 자세한 내용은 링크를 참조하지만, 간단히 말해서, 당신의 제어 (MeasureOverride 함수에서)로 가정한다 : 크기를 반환하는 (라벨을 포함하는) 모든 어린이에

  1. 전화 UIElement.Measure 그 자녀
  2. 자신의 원하는 크기와
  3. 리턴 (MeasureOverride의 반환 값으로 사용) 프레임 워크이 크기를 계산,을하고 싶습니다.

는 그 후, 한 ArrangeOverride에 매개 변수로 프레임 워크에 의해 컨트롤에 할당 된 크기를 얻을 당신이

  1. 자녀의 각 요소에 할당하는 방법을 많은 공간 결정
  2. 각 하위 요소에 UIElement.Arrange을 호출하십시오.
0

당신은 하위 요소의 크기에 따라 사용자 지정 컨트롤을 크기 ev.Graphics.MeasureString (STR, 글꼴)