2008-10-13 5 views
26

그래서 양식의 AutoScaleMode 속성이 글꼴이있는 시스템 또는 내 작업 개발 컴퓨터와 다른 DPI을 지원하는 데 어떻게 도움이되는지 파악하려고합니다. SDK를에서 DPI 및 기본 글꼴 변경 지원

:

AutoScaleMode 열거

공공 열거 AutoScaleMode

None 
    Automatic scaling is disabled.  
Font 
    Controls scale relative to the dimensions of the 
    font the classes are using, which is typically the 
    system font. 
Dpi  
    Controls scale relative to the display resolution. 
    Common resolutions are 96 and 120 DPI. 

기본 .NET으로 2.0 양식 AutoScaleMode.Font를 사용합니다.

그래서 Windows XP, Tahoma 8 pt, 96 DPI 개발 시스템에서 샘플 양식을 디자인했습니다. 그리고 나는

  • 14 PT Segoe UI 96 DPI 기계에 그것을 밖으로 시도
  • 14 Segoe UI 150 개 DPI 기계

결과는이 스크린 샷에서 볼 수 있듯이, 격려하지 않았다 PT :

AutoScaleMode 속성

는 다른 글꼴 또는 DPI 설정 지원을위한 .NET 양식을 할 수 있도록 설계되지 않았습니다. 그래서 입니다. 다른 글꼴과 DPI 설정을 지원하는 적절한 방법은 무엇입니까?

답변

5

올바른 방법은 컨트롤, 양식 자체 및 텍스트의 크기를 조절하는 것입니다. 이것은 매우 복잡해 보이지만 AutoSize 속성과 결합 된 레이아웃 컨트롤 (TableLayoutPanel 및 FlowLayoutPanel)은이 작업을 상당히 어렵지 않게 만듭니다.

+0

레이아웃 패널은 위와 같은 형태로 사용되지 않으며 이미 앵커를 사용하여 레이아웃되어 있습니다. –

+1

앵커를 교체하십시오. 앵커가 문제입니다. –

+0

무엇으로 교체 하시겠습니까? 버튼의 폭은 50dlus이며, 오른쪽과 아래쪽 가장자리에서 7dlus입니다. –