問題描述:是否有可能對用戶的DPI設置反應在.NET應用程序
我目前正在開發一個Visual Basic .NET應用程序。事實證明,我的應用程序在以不同於「標準」的不同dpi設置運行的系統上無法正常顯示(windows xp下100%= 96dpi)。
當我change the system's dpi settings我的GUI看起來稍微搞砸了,你可以在下面的截圖看到(因爲這是一個規模問題是不應該的問題,關於截圖的文字是德語;遺憾的這個):
Windows XP,100%比例,96 dpi - >一切看起來像我期望的。
Windows XP,125%縮放,120 dpi - >窗口底部的按鈕不再適合窗口。
我想達到的目標:
如果顯示比例設置爲任何大於100%,否則我想盡快在應用程序啓動用戶顯示一個警告對話框。
問:
是否有可能讀取系統的DPI值?如果是這樣,那會是怎樣呢? 似乎有一個DisplayProperties-class以及DisplayInformation-class,但據我所見,它僅適用於Windows-Store-Apps。
解決方法:使用WPF,它是獨立於默認分辨率。 winforms不支持任何東西。 –
@HighCore是正確的。這是WPF首先創建的原因之一 – Zache
謝謝你們,我會看看WPF並考慮下一次更新。 – Christian