[Visual Studio 10 C#] C Window Form Designer 오류 해결

DongDong·2023년 1월 10일
0

🔎 들어가기 전

일단 나는 회사에서 웹 프론트엔드와 한국공인회계사회 AT 자격 시험에서 사용하는 프로그램의 개발 및 유지보수를 하고있다.
제 54회 시험부터 전면 비대면으로 시행됨에 따라 프로그램 로직이 많은 부분 변경이 됐는데,
윈폼 디자이너 쪽에서 나타났던 오류와 해결방법을 포스팅하고자 한다.
후술할 내용 중 캡처화면은 사내 소스 코드 유출이 우려되어 VS10 내 디자이너 속성쪽만 캡처하였다.

📌 사건의 발달

현재 회사에서는 은행을 포함한 금융 기관과 협업도 진행하고 있으며 각종 보안 및 법률 규정을 준수하기 위해 폐쇄망을 사용하고
MAC OS를 사용하고 있기때문에 VMWare(가상화 소프트웨어)를 통해 AT 관련 프로그램의 소스 코드가 저장되어 있는
가상 환경(Window)에 접근하여 작업을 할 수 밖에 없다.
이 가상 환경에서 작업을 하던 도중에 현재 사용 중인 가상 환경의 디스크 용량이 부족해짐에 따라 새로운 가상 환경을 부여받아서
새로운 환경에 필요한 소스만 옮겨 작업을 진행하였다.
소스 이전 작업을 완료한 뒤, Visual Studio를 켜서 전체 빌드를 하고나서 문제를 발견하였다. 😡

🚫 문제

기존에 사용하던 해상도와 새로운 VMWare에서의 해상도가 상이했는데, 이것이 문제가 되었다.
비주얼 스튜디오는 화면 비율을 자동으로 맞춰주려고 하는데, 이 과정에서 자동으로 크기 조정을 해버렸다.
그로 인해서 특정 픽셀 비율로 폼 크기가 늘어나는 문제가 생겼고 구글링과 MS 공식 홈페이지를 통해 비교적 수월하게 해결하였다.

✅ 문제해결

1️⃣ 폼 컨트롤의 속성 중 AutoScaleMode를 변경하기

AutoScaleMode 내 사용할 수 있는 속성 값

각각 폼 컨트롤의 속성을 보면 AutoScaleMode가 defalut로 Font로 설정이 되어있을 것이다.
이를 None으로 변경하게 되면 화면 비율은 고려치 않고 디자이너 내에서 설정된 사이즈 그대로 보여지게 된다.
또한 Dpi라는 속성으로 변경하게 된다면 화면 배율에 따라서 디자이너의 크기가 동적으로 바뀌게 된다. ( 추천 )
하나하나 모두 설정해줘야하는 단점이 있다.

2️⃣ 레지스트리 편집하기

해당 방법은 .NET 프레임워크 버전에 따라 조금 상이하다는 이야기가 있긴하지만 큰 이슈 없이 잘 적용된다고 한다.
아래 MS 공식 홈페이지에서 확인 할 수 있다.

자동 양식 스케일링 - Windows Forms .NET
.NET용 Windows Forms에서 UI 스케일링을 처리하는 방식을 살펴봅니다.

https://learn.microsoft.com/ko-kr/dotnet/desktop/winforms/automatic-scaling-in-windows-forms?view=netframeworkdesktop-4.8

✋ 마치며

나는 당분간은 새로운 VMWare에서만 작업할 것이기 때문에 좀 더 수월한 첫 번째 방법으로 문제를 해결하였으나
만약 다른 컴퓨터에서 소스코드를 공유하며 작업하는 경우 레지스트리를 변경해주는 것이 효율적일 것이라고 생각된다.

profile
중요한건 꺾이지 않는 마음

0개의 댓글