1
在我的C#winforms應用程序中,我使用Graphics對象來獲取當前的DPI值,以使我的代碼可以縮放某些組件。這工作得很好,除非我一旦調用CreateGraphics(),我的winforms應用程序的外觀和感覺就會改變。風格從熟悉的「圓形」按鈕到更古老的「銳邊」按鈕。爲什麼調用CreateGraphics()會改變我的表單的外觀?
爲什麼會發生這種情況,我該怎麼做才能防止它發生?
我的代碼如下所示:
Graphics g = this.CreateGraphics();
try
{
if (g.DpiX == 120.0f)
{
// scale the components appropriately
}
}
finally
{
g.Dispose();
}
其實我可以通過調用的createGraphics,然後立即它處置重現該問題。
任何幫助或洞察力非常感謝!
另一個問題是:是否有無需要創建一個Graphics對象來獲取DPI設置?