WinForms 컨트롤 스케일링: 높은 DPI 환경에서 최적의 자동 조정
일반적으로 WinForms는 높은 DPI 환경에서 자동 크기 조정 기능이 제한되어 있다고 알려져 있지만 실제로 .NET 2.0 이상에서는 자동 크기 조정 기능이 크게 향상되었습니다. 그러나 이러한 개선 사항을 최대한 활용하려면 개발자는 특정 디자인 지침을 따라야 합니다.
자동 크기 조정을 지원하지 않는 컨트롤
일부 컨트롤에는 크기 조정에 제한이 있습니다.
AutoSize
속성이 비활성화되고 글꼴이 상속된 글꼴인 경우 크기 조정 오류를 방지하려면 Font
속성을 명시적으로 설정하세요. ScaleControl
메서드를 재정의하세요. Panel1MinSize
, Panel2MinSize
및 SplitterDistance
속성을 설정하지 마세요. MultiLine
속성이 활성화되고 글꼴이 상속된 글꼴인 경우 Font
속성을 명시적으로 설정합니다. CreateGraphics.DpiX
및 .DpiY
에 따라 ToolStrip.ImageScalingSize
을 조정합니다. SizeMode
속성이 Zoom
또는 StretchImage
으로 설정되어 있는지 확인하세요. CreateGraphics.DpiX
및 .DpiY
을 기반으로 ImageList.ImageSize
을 설정합니다. 디자인 가이드라인
1. 컨테이너 관리
AutoScaleMode
속성을 Font
으로 설정합니다. AutoScaleDimensions
속성을 new System.Drawing.SizeF(6F, 13F)
에 할당합니다(필요한 경우 조정). 2. 디자이너 구성
AutoSize
속성이 활성화되어 있는지 확인하세요. 3. 글꼴 관리
Font
속성은 리프 컨트롤 수준이나 기본 양식의 생성자(애플리케이션 전체 기본값의 경우)에서만 설정하세요. Font
을 변경하면 AutoScaleDimensions
이 그에 따라 다시 계산됩니다. 4. 도킹 및 앵커링
Dock
또는 Anchor Right
대신 Bottom
속성을 사용하세요. 5. 동적으로 추가된 컨트롤
AutoScaleDimensions
및 AutoScaleMode
을 설정한 다음 레이아웃을 다시 시작하세요. 6. 기본 클래스 및 AutoScale
AutoScaleMode
속성은 Inherit
으로 설정되어야 합니다. 다른 값으로 설정하면 자동 크기 조정이 비활성화될 수 있습니다. 7. 창 크기 제한
MaxSize
속성을 사용하지 마세요. 생성자 또는 OnLoad
이벤트에서 MinSize
및 MaxSize
을 크기 조정된 차원으로 설정합니다. 위 내용은 높은 DPI 환경에서 자동 조정을 위해 WinForms 컨트롤 크기 조정을 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!