[原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定

虚幻大学 xuhss 436℃ 0评论

? 优质资源分享 ?

学习路线指引(点击解锁) 知识定位 人群定位
? Python实战微信订餐小程序 ? 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
?Python量化交易实战? 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
  • SunnyUI.Net, 基于 C# .Net WinForm 开源控件库、工具类库、扩展类库、多页面开发框架

0a0ec4cbcbc66650385728f2376f30c8 - [原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定

+ Blog: 
+ Gitee: 
+ GitHub: 
+ 帮助文档目录: [https://blog.csdn.net/yhuse/p/SunnyUI\_Menu.html](https://blog.csdn.net/yhuse/p/SunnyUI_Menu.html "https://blog.csdn.net/yhuse/p/SunnyUI_Menu.html")
+ 欢迎交流,QQ群: [[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pAhNvlKX-1650647536638)(https://pub.idqqimg.com/wpa/images/group.png "SunnyUI技术交流群")]](https://blog.csdn.net/biggbang) 56829229 (SunnyUI技术交流群)

Winform窗体随着屏幕的DPI缩放,会引起窗体变形及字体变形。SunnyUI的DPI缩放自适应方案目标为随着DPI缩放,窗体和字体均不变形,从而实现界面的美观。主要有以下三步操作:

1、设置窗体和自定义用户控件的AutoScaleMode为None实现目标:禁止窗体因为字体大小缩放变形因为显示的高分屏,然后操作系统的设置了字体缩放引起的。窗体默认的AutoScaleMode = Font,控件会因为高分屏自动缩放。解决方法:设置窗体、用户控件的AutoScaleMode = None04ff632a03244d9551ab840eea82b542 - [原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定

2、设置app.manifest的dpiAware为true实现目标:禁止窗体因为DPI缩放变形选择项目属性,安全性37d977df3015d15a56d15aa74ddd9ad4 - [原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定选中 启用 ClickOnce 安全设置,再取消选中。这时候项目的文件里就多了app.manifest8bd23701db42b584f68206ea7c2a669e - [原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定按下面代码修改,启用dpiAware


  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">truedpiAware>
      <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">truelongPathAware>
    windowsSettings>
  application>

  <!--
</span>

3、设置DPIScale为true实现目标:DPI缩放后字体大小不变确认编译时DPI缩放为100%在主窗体上放置UIStyleManager控件243aa37a3772698b401e122c0aaaede0 - [原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定设置DPIScale为truebecc01f9322b1a97e04b64405b032e21 - [原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定编译程序,在不同的DPI缩放下测试编译好的SunnyUI.Demo.exe

转载请注明:xuhss » [原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定

喜欢 (0)

您必须 登录 才能发表评论!