증상

자체 배율 높은 DPI 설정에 대 한 논리를 구현 하는 Windows Forms 응용 프로그램 비정상적인 경우 이러한 응용 프로그램은 Microsoft.NET Framework 4.5.2 높은 DPI 변경으로 다음과 같은.config 파일 설정을 사용 하 여 배율을 발생할 수 있습니다.

<appSettings> <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" /></appSettings>

해결 방법

배율이 조정 된 값 위에 배율 인수를 적용 하는 응용 프로그램은.NET Framework 4.5.2 높은 DPI 향상 되었습니다 제외 됩니다 때 추가 발생 합니다. 이 문제를 해결 하려면 ToolStrip.ImageScalingSize 기본값에 있는 간격을 적용 하려면 응용 프로그램의 배율 조정 논리를 업데이트 합니다. 이 이렇게 별도의 도입을 피해 야 할 비율.예를 들어, 다음 코드는 응용 프로그램을 확장 ToolStrip 단추 두 번:

public MyToolStrip(){ IntPtr hDC = GetDC(new HandleRef(null, IntPtr.Zero)); double xFactor = GetDeviceCaps(new HandleRef(null, hDC), LOGPIXELSX) / 96.0; double yFactor = GetDeviceCaps(new HandleRef(null, hDC), LOGPIXELSY) / 96.0; this.ImageScalingSize = new Size((int)(this.ImageScalingSize.Width * xFactor), (int)(this.ImageScalingSize.Height * yFactor)); InitializeComponent();}

일정 기본 크기 또는 원하는 이미지의 크기를 조정 하려면 다음 코드를 사용할 수 있습니다.

this.ImageScalingSize = new Size((int)(16 * xFactor), (int)(16 * yFactor));

  

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.