是否可以对.NET应用程序中的用户dpi设置做出反应
问题描述:
我目前正在开发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值?如果是这样,那将是怎样的? 解决方法
Graphics类的
DpiX和
DpiY属性包含以下信息:
Using g = Me.CreateGraphics() Dim dpiX = g.DpiX Dim dpiY = g.DpiY End Using 由于您使用的是Windows窗体,因此可以使用Form.CreateGraphics创建Graphics对象. 当然,最好的做法是让您的应用程序在任何DPI设置上都看起来很棒.如果你不能转移到WPF,下面的SO问题包含很多关于如何使用WinForms工作的提示: > Creating a DPI-Aware Application (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何从托管DLL获取可执行文件路径
- windows无人值守文件的制作_autounattend.xml
- windows – 批量更改DNS设置或至少通过DNS识别
- 如何使用Go在Windows上显示图像?
- Windows上的Meteor:meteor命令不输出任何内容
- windows-7 – Windows 7无人值守安装 – 不是’无人值守’
- OpenCV3.4.1+opencv_contrib编译:windows 10
- windows-server-2003 – 热修复Win2003终端服务中任务栏(多
- Error: EACCES: permission denied, mkdir
- windows-server-2008 – 当触发自动故障转移时,SQL Server可