1)添加app.manifest文件
改文件创建后的路径 > "myproj\Properties\app.manifest"
方法1
打开vs2005、vs2008等工程,在【解决方案资源管理器】里查看是否有app.manifest这个文件,如果没有的话,通过以下方法创建:
方法1:
1、在【解决方案资源管理器】右键工程名称选择属性;
2、在弹出的该对话框中,选择【安全性】选项卡。
3、勾选【启用ClickOnce安全设置】,并选中【这是完全可信的应用程序】。
4、保存工程,这时候app.manifest就自动创建了。
方法2
为工程项目添加一个类,应用程序清单文件(app.manifest)。
高 DPI 支持 - Windows Forms .NET Framework | Microsoft Learn
仅在以 .NET Framework 4.7 为目标并在从 Windows 10 创意者更新开始的 Windows 操作系统上运行的应用程序中提供支持高 DPI 感知的新 Windows 窗体功能。
此外,若要在 Windows 窗体应用程序中配置高 DPI 支持,必须执行以下操作:
- 声明与 Windows 10 的兼容性。为此,请将以下内容添加到清单文件:
XML
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> <!-- Windows 10 compatibility --> <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> </application> </compatibility>
- 在 app.config 文件中启用每监视器 DPI 感知。Windows 窗体引入了一个新的
<System.Windows.Forms.ApplicationConfigurationSection>
元素,用于支持从 .NET Framework 4.7 开始添加的新增功能和自定义项。 若要利用支持高 DPI 的新功能,请将以下内容添加到应用程序配置文件。XML<configuration> <!-- ... other xml settings ... --> <System.Windows.Forms.ApplicationConfigurationSection> <add key="DpiAwareness" value="PerMonitorV2" /> </System.Windows.Forms.ApplicationConfigurationSection> </configuration>
最后设置指定容器模式为dpi
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
注意form中控件字体也可能导致ui崩溃