High DPI를 포기하지 않고 Windows Forms 디자이너를 Visual Studio에서 개발하는 방법

비단 이런 상황에서만 쓰이는 짤방은 아니지만… 그냥 가져와봤습니다.

일전에 아래의 글을 공유했던 적이 있었습니다.

기본적으로 Windows Forms의 디자이너는 High DPI를 제대로 지원하지 못하며, 이 때문에 High DPI 상태에서 디자이너로 뭔가를 그리게 되면, 모든 픽셀 단위가 여전히 96 DPI일 때를 기준으로 계산되어 모양이 잘못 그려지는 문제가 있습니다.

하지만 이 문제를 해결하기 위하여 계산기를 두드려가며 맞춘다거나, 억지로 DPI를 96 DPI로 내려서 눈을 혹사시키거나 하는 것은 너무나 무리한 일입니다.

다행히 이 부분에 대한 업데이트가 Visual Studio 2017 15.8 업데이트 이후부터 개선되어 새롭게 적용되었습니다. 15.8 버전부터는 High DPI 상태로 Visual Studio에서 Windows Forms 디자이너를 열면 아래 그림과 같이 안내문이 표시됩니다.

DPI를 억지로 바꾸려고 하지 말고, 단순히 Visual Studio를 DPI 비 인식 모드로 재시작하는 링크만 클릭하면, Visual Studio만 단독으로 96 DPI로 다운스케일링한 상태에서 현재 프로젝트를 그대로 다시 열어줍니다. 물론 이렇게 작업하다가 원래대로 돌아가는 것도 가능합니다.

그런데 이 기능이 제대로 작동하지 않는 경우도 있습니다. 만약 아래의 레지스트리 키가 이미 만들어져있는 경우, Visual Studio가 아니라 Windows OS에 의해서 DPI 설정이 강제로 조정되기 때문에, 위의 UI를 이용하여 스위칭하는 기능이 가로막히게 됩니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\devenv.exe

위의 키를 삭제하고, Visual Studio를 다시 시작하면 정상적으로 기능이 작동하게 됩니다.