【问题标题】:Form is zoomed in on some computers在某些计算机上放大表格
【发布时间】:2014-03-24 17:21:38
【问题描述】:

一些使用我的程序的人有一个类似放大的表格。这与他们拥有的 .NET 版本有什么关系,或者有什么问题。它们的屏幕分辨率不同。

【问题讨论】:

  • 浏览器上的缩放是用户特定的设置,所以这可能是他们所做的。此外,看起来您的网站可能正在使用响应式设计?如果是这样,窗户大小有趣吗?在两台计算机上最大化它们,看看会发生什么。
  • @mmeasor 你想说什么?
  • @mmeasor OP 将此标记为 winforms,因此不基于浏览器。

标签: c# winforms forms screen


【解决方案1】:

这绝对是DPI awareness 的结果(从Windows Vista 开始可用)。

正确的做法是让您的应用“流畅”并正确格式化自身以适应更大的内容。

简单的方法是禁用 DPI 感知。您的应用程序仍然会更大,但它会作为一个整体进行缩放,而不是让每个独立组件自行缩放。

您可以通过在 app.manifest 文件中添加以下内容来做到这一点:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>false</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

【讨论】:

  • 我试过了,但是在 Windows 8 上它会出错,而在 Windows 7 上它不会出错..
  • Windows 8 出现什么错误?此外,在 Windows 7 上,当它看起来放大时,是否在操作系统中启用了 DPI 缩放(右键单击桌面、屏幕分辨率、使文本和其他项目更大或更小。如果它不是“更小”或 100%, DPI 缩放已激活)?
【解决方案2】:

让用户将他们的浏览器缩放更改为 100%。它可能 >100%,因此可能是问题的原因。

【讨论】:

  • 它被标记为winforms 所以我假设没有涉及浏览器
  • 这是一个c#应用程序,和浏览器缩放有关系吗..?
  • 如果您正在开发桌面应用程序 - 即客户端启动一个可执行文件,使用WinForms 编写,那么这与浏览器缩放无关。如果您开发了一个网络应用程序,客户端使用网络浏览器(IE、Firefox、Chrome、Safari 等)访问该应用程序,那么浏览器缩放会影响用户看到的内容。
【解决方案3】:

.NET 的版本应该没有区别。 windows 的版本可能有,还有像高 DPI 屏幕设置之类的东西,正如Scott Hanselman博客所写的那样

【讨论】:

  • 有解决办法吗?
  • 这取决于。我认为您应该确定最坏的情况设置(如果可以的话,与您的用户交谈)并以某种方式测试自己。确保您的 UI 可以合理扩展。
猜你喜欢
  • 1970-01-01
  • 2017-09-01
  • 2015-02-03
  • 1970-01-01
  • 1970-01-01
  • 2017-08-12
  • 2013-07-14
  • 2010-09-13
  • 2012-12-22
相关资源
最近更新 更多