내 C# winforms 응용 프로그램에서 그래픽 구성 요소를 사용하여 현재 구성 요소의 크기를 조정할 수 있도록 현재 DPI 값을 얻고 있습니다. 이것은 CreateGraphics()를 호출하자마자 내 winforms 애플리케이션의 모양과 느낌이 바뀌는 것을 제외하고는 훌륭하게 작동합니다. 이 스타일은 익숙한 "둥근"버튼에서 좀 더 오래된 모양의 "예리한"버튼으로 바뀝니다.CreateGraphics()를 호출하면 내 양식의 모양과 느낌이 변경되는 이유는 무엇입니까?
왜 이런 일이 발생하며 어떻게 방지 할 수 있습니까?
내 코드는 다음과 같습니다 : 사실
Graphics g = this.CreateGraphics();
try
{
if (g.DpiX == 120.0f)
{
// scale the components appropriately
}
}
finally
{
g.Dispose();
}
가 난 그냥 폐기 즉시 다음 CreateGraphics 해당를 호출하여 문제를 재현 할 수 있습니다.
많은 도움이나 의견을 보내 주시면 감사하겠습니다.
또 다른 질문은 : 어쨌든 Graphics 객체를 만들지 않고 DPI 설정을 얻으려고합니까?