在 VS2017 Winforms 应用程序中存在 IDE 缩放问题

Posted

技术标签:

【中文标题】在 VS2017 Winforms 应用程序中存在 IDE 缩放问题【英文标题】:Have a IDE Scaling issue in VS2017 Winforms Application 【发布时间】:2019-01-01 15:12:40 【问题描述】:

我已经用谷歌搜索了这个,但无法准确找到我需要的东西。所以我会在这里展示它,看看是否有我可以更改的快速设置来解决这个问题。

我的问题是缩放问题之一,但不是您(和 Google)怀疑的运行时意义上的问题。相反,它在 VS2017 设计器本身中,因为表单上控件的点位置设置不会从一种分辨率到另一种分辨率保持一致。这就是我的意思:

    Workstation @ work 是 Windows 10 (v1709),在双 1920 x 1080 显示器上。

    Workstation @ home 是 Windows 10 (v1709),在三台 4k 显示器(SLI 中的双 GTX-1080)上。

同一个项目(在工作和在家中进行)。

当我打开设计师@home 时,自然一切都变小了。但有些控制项是“不合适”的。所以我调整它们并继续。当我开始工作时,我必须再次调整这些相同的控件。

现在我已经在猜测(我还没有测试过)这是因为我在家庭工作站的显示设置中设置了 Scale 为 125%(因为一切都非常小如果设置为 100%,则在 4K 显示器上)。但我认为 VS2017 中的 IDE 会相应地进行补偿,而无需调整控制位置的 实际 点值...

或者我在 VS2017 本身中是否缺少另一个设置,可以让表单在环境分辨率之间保持一致性?

2018 年 7 月 25 日更新:我将 Scaling 设置为 100% 并检查是否有影响。它没!所以我将主显示器的分辨率设置为 1920 x 1080。这也没有影响。我在这里完全不知所措,因为我以前从未经历过这样的事情。控件不合适,字体比我工作时工作站上显示的字体大。这次我没有进行任何更正,所以当我重新开始工作时,一切都会看起来如此。

但是,我认为这可能完全是一个显示问题,因为当我关闭项目时,Visual Studio 没有看到任何表单的变化(即不提示保存) .

监控 DPI 差异(拉伸..这里需要绳子)?

【问题讨论】:

【参考方案1】:

嗯,我实际上在这里找到了解决这个难题的答案,in this posting。

它基本上说明了我的怀疑。这是DPI问题。该帖子提到了work-around,但这并不是一个完整的解决方案,因为需要权衡取舍。

所以我想我必须获得一台实际的 1920 x 1080 显示器才能在家中使用 Winforms 应用程序。

【讨论】:

【参考方案2】:

您可以在高 DPI 显示器上使用 Visual Studio。我目前在 225% 的 4K 笔记本电脑屏幕上以全分辨率使用它,我的 Winforms 设计师工作正常。您将不得不忍受 VS 字体模糊,但至少它可以再次使用,而且无需更换显示器!这篇文章很有帮助,并为该问题提供了注册表修复:

https://code4ward.net/2016/11/29/visual-studio-winforms-designer-on-highdpi/

【讨论】:

哈!我刚刚点击了您答案中帖子的链接,并在那里看到了指向同一篇文章的答案!无论如何希望它有所帮助!

以上是关于在 VS2017 Winforms 应用程序中存在 IDE 缩放问题的主要内容,如果未能解决你的问题,请参考以下文章

VS2019 WinForms 在诊断工具中没有显示任何事件

VS2010 在 64 位版本的 Windows 上的 WinForms 应用程序中不显示未处理的异常消息

WinForms - 使用ProcessCmdKey VS KeyDown捕获按键组合

在 VS 2010 的 Winforms 项目中添加 WPF 窗口

由于旧的程序集引用,无法在 VS2012 中加载 Winforms 设计器

Winforms - 程序无法从 app.config 中找到连接字符串