我试图了解运行我的应用程序的DPI设置。
我试过了。
data Position = Position Int Int
isValid :: Position -> Bool
isValid (Position x y) = x `elem` ['a'..'h'] && y `elem` [1..8]
我试图使用
Using g As Graphics = MyBase.CreateGraphics()
dpiX = g.DpiX
dpiY = g.DpiY
End Using
TextBox1.Text = dpiX.ToString()
TextBox2.Text = dpiy.ToString()
两者都显示96 DPI。在我的普通计算机上,也在我的虚拟机上,DPI设置为150%。
如何找到当前屏幕的正确DPI?
//莱纳斯
答案 0 :(得分:0)
我发现了问题所在。
我没有提供dpiaware设置的应用程序清单文件。
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings
xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>True/PM</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
有了它,它按预期工作。