这是我遇到了很多麻烦的事情。经过几天的试验,我终于弄清楚了如何正确地缩放WinForms。这可能也会帮助其他一些人。
有很多关于修改app.manifest或app.config文件的建议。这个解决方案可能适用于早期版本的Windows,但对我来说没有一个有效。安装我的应用程序后,图片和控件变得一团糟(在VisualStudio中调试一切正常)。经过一些测试,我已经看到将“覆盖高dpi缩放”选项设置更改为“应用程序”对我很有效,但我希望在应用程序中支持这一点,而不修改一些Windows设置。
我偶然发现了一个Windows支持文档,解释说,他们已经改变了一些DPI缩放与最新版本的Windows和旧的方法可能不起作用。
2条答案
按热度按时间hi3rlvi21#
您实际需要做的就是按照以下步骤操作:
1.找到你的app.config
1.在
</startup>
和<userSettings>
之间插入以下代码段1.保存文件并重新加载项目
1.确保您已从清单中删除任何其他调整
1.在主方法或入口点中设置此参数
Application.EnableVisualStyles()
这就对了!你的应用安装到机器上后,在4K环境中应该看起来很棒。有关详细信息,请参阅this article from Microsoft.
ctzwtxfj2#
为了补充max07的答案,另一个解决方案不是修改甚至提供
app.config
,而是只通过代码来完成,如下所示:PS:这段代码只需要.NET Framework,因为.NET Framework(最高4.8)不荣誉
app.manifest
's dpiAwareness元素(不要与app.config
的元素混淆...)。相反,.NET Core5+直接支持app.manifest的dpiAwareness元素,而不需要特定的代码。