2011-05-09 104 views
2

我已經學會了如何以困難的方式管理不同的DPI設置,以便在運行時正確顯示我的應用程序。視覺工作室設計師dpi設置

但設計時間Visual Studio仍然存在一個大問題。 假設我以96 dpi的分辨率創建應用程序,並將我的顯示器切換爲120 dpi以進行測試。

現在,如果我以120 dpi的分辨率打開表單設計師,表單會根據125%調整大小,控件也會移動! : - (((

所以我儘量避免重新形式,但是這並不是一個很好的解決方案,是不是

任何機會是否有一個設計時設置,以防止形式來調整

+0

這是我的問題的副本,也很遺憾地沒有回答。 http://stackoverflow.com/questions/4074106/can-i-tell-visual-studio-not-to-change-the-dpi-of-a-project – 2011-07-12 02:24:12

回答

2

不是一個解決方案,但可能是一個解決辦法:不要考驗你的電腦虛擬機或其他計算機上,但並沒有打開大字體的計算機上的解決方案

而且我們發現,我們可以不使用AutoScaleMode = Dpi.Font設置,當我們在設計器中打開它們時,它會隨機調整表單的大小,Dpi或None似乎不起作用

0

雖然這個問題已經很老了,但我想分享我的解決方法。

  • 保留表格的AutoScaleMode = Font。這工作正常,如果你正確地控制其餘部分。
  • 在您的Forms Designer中設置:Font = MS Sans; 11px。基本上,指定您的字體在像素,而不是點。因此,如果系統的DPI發生變化,Visual Studio將不會重新縮放任何內容。
  • 在Forms Ctor中,InitializeComponent之後,重新設置:Font = SystemFonts.DefaultFont。現在,在運行時,字體會再次使用基於點的尺寸,並且您可以獲得不錯的高DPI圖形用戶界面。
  • 啓用DPI意識,無論是通過清單或通過API函數SetProcessDPIAwareness

你可以找到我的(硬)的學習教程,對我的博客的細節:http://www.sgrottel.de/?p=1581&lang=en