因此,我正在閱讀有人在另一個問題中鏈接到的Windows Vista UI準則,他們提到您應該能夠在切換到120 DPI後繼續存在。那麼,我安裝了我的應用程序,啓動了我的方便虛擬機,我們得到了什麼...... AAAAGH !!!大量的UI失敗!字體大小的獨立用戶界面:當我切換到120 DPI時,一切都崩潰了?
一切都是混亂的:有些容器的尺寸不夠大;一些「彼此相鄰」的控件現在都被擠在一起/散開;一些按鈕不夠高;我的ListView
列不夠寬... eeek。
這聽起來像一個完全不同的方法是爲了。我之前的一個基本上是使用VS2008 Windows窗體設計器來創建一個基於像素的佈局。我可以看到,如果我堅持使用Windows Forms,FlowLayoutPanel
會很有幫助,但我發現它們在過去非常不靈活。它們也不能解決容器(例如形狀本身)不夠大的問題;大概有一種方法可以做到這一點?也許那AutoSize
屬性?
這可能也是一個跡象表明是時候跳槽到WPF了;我的印象是專門爲這種事情設計的。
的基本問題似乎歸結爲以下:
- 如果我堅持使用Windows窗體,什麼是所有的技巧,以實現字體大小無關的佈局,能夠生存的用戶設置自己的字體很大,或者將顯示設置爲120 DPI?
- WPF是否在這裏有很大的優勢,如果有的話,你能否試圖說服我這是值得的轉換?
- 對於字體大小無關的佈局,在.NET堆棧中還是一般情況下,是否有任何通用的「最佳實踐」?
我一直使用Anchor,Dock,AutoSize和TableLayoutPanels來實現可翻譯的UI,並導致可調整大小的窗體。但是,在「XP樣式DPI縮放」複選框關閉的情況下,在高DPI設置下,我發現我的每個應用程序都有模糊的字體。任何提示修復? – 2009-10-24 08:54:19