微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有可能在.NET应用程序中对用户的dpi设置做出反应

问题描述:

我目前正在开发一个Visual Basic .NET应用程序。 事实certificate,我的应用程序不能正确显示在不同于“标准”(在Windows XP下100%= 96dpi)的dpi设置下运行的系统上。

当我改变系统的dpi设置时,我的GUI看起来有些混乱,你可以在下面的屏幕截图中看到(因为这是一个缩放问题,屏幕截图上的文本应该是德文;对此不好意思):

Windows XP,100%的规模,96 dpi – >一切看起来像我所期望的。

DirectoryInfo.GetFiles()不返回所有文件

validationWindows用户名/密码为具有pipe理权限

如何用C#.NET编写程序,在Linux / Wine / Mono上运行它们?

.NET中的窗体上的三angular/mathexpression式

我怎样才能在.Net中获得一个可执行文件的图标?

Windows XP,125%缩放,120 dpi – >窗口底部的button不再适合窗口。

我想实现的是:

如果显示比例设置为100%以外,我希望在应用程序启动后立即向用户显示一个警告对话框。

题:

有没有可能读取系统的dpi值? 如果是这样,那将是怎样的呢? 似乎有一个displayProperties类以及display@R_939_4045@ion类 ,但据我所见,它仅适用于Windows-Store-Apps。

添加成员”到一个types,而不是在PowerShell中只有一个types的对象

如何以编程方式编辑特定用户的registry项?

Linux单声道等效的.NET Windows服务

如何更改在.NET PropertyGrid中使用的控件的types

什么是validation.NET Windows窗体的正确方法

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工作的提示

创建一个DPI感知应用程序

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐