최상위 양식은 최소 및 최대 크기를 DPI로 조정합니다.
이제 Windows Forms의 최상위 양식은 HighDpiMode.PerMonitorV2 모드에서 실행될 때 모니터의 DPI(인치당 도트 수)에 따라 MinimumSize 및 MaximumSize 값의 크기를 조정합니다.
도입된 버전
.NET 8 미리 보기 1
이전 동작
.NET 8에서는 애플리케이션 DPI 모드와 양식이 렌더링되는 모니터의 DPI에 관계없이 최상위 양식의 MinimumSize 및 MaximumSize 값이 일정하게 유지되었습니다. 이로 인해 최상위 양식의 크기 조정 제한 사항이 발생하는 경우도 있었습니다.
.NET 7에서 이 동작을 옵트인할 수도 있습니다. 옵트인하려면 권장 작업 섹션에 설명된 System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi
런타임 구성 옵션을 설정합니다.
새 동작
.NET 8부터 최상위 양식은 HighDpiMode.PerMonitorV2 모드에서 실행될 때 모니터의 DPI에 따라 MinimumSize 및 MaximumSize 값의 크기를 조정합니다. 앱 동작은 다음과 같은 방식으로 변경될 수 있습니다.
- 양식의 최소 및 최대 크기가 변경되면 런타임 종속성이 영향을 받을 수 있습니다.
- 새로운 MinimumSizeChanged 및 MaximumSizeChanged 이벤트가 발생할 수 있습니다.
- 이제 크기가 조정된 양식 크기에 최소 및 최대 크기에 대한 새로운 제약 조건 값이 있습니다.
범주 변경
이 변경 사항은 동작 변경입니다.
변경 이유
이 변경은 높은 DPI 모니터에서 Windows Forms 사용자 환경을 개선하려는 광범위한 활동의 일부입니다. 이를 통해 개발자는 모니터의 DPI를 고려하지 않고도 최상위 양식의 최소 및 최대 크기를 설정할 수 있습니다.
권장 작업
새로운 동작이 문제가 되는 경우 runtimeconfig.json 파일에서 System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi
를 false
로 설정하여 옵트아웃할 수 있습니다.
runtimeconfig.template.json 템플릿 파일:
{
"configProperties": {
"System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi": false
}
}
[appname].runtimeconfig.json 출력 파일:
{
"runtimeOptions": {
"configProperties": {
"System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi": false
}
}
}
영향을 받는 API
해당 없음
참고 항목
.NET