C# WinForm.AutoSizeHelper包介绍

前言

        网上有非常多的针对WinForm窗体根据屏幕分辨率自适应大小和位置的解决方案,其思路也是大同小异,都是在窗体构造时记录下每个控件的大小和位置信息,还有窗体设计时的大小,在窗体大小改变时,记录下改变后的窗体大小与设计时的大小的比值,然后利用这个比值去计算和控制每个控件的大小和位置。

        这个思路是没问题的,可是在工程实践中,这只能满足基本的分辨率适应需求,有些需求始终满足不了,我举几个常见的例子。

无法满足需求的例子

例子一:

       在一个需要自适应分辨率大小的窗体中,我需要点击一个按钮,点击后,我需要动态添加一段文字在窗体中心,并且之后无论窗体最大化还是回到正常大小,这段文字始终在最中心。

例子二:

        我想在主窗体中动态添加一个窗体到panel中,同时让新添加的窗体能自适应当前屏幕分辨率。

例子三:

       我想让字体也自适应屏幕分辨率。考虑到不同分辨率下字体的效果,我想要能在不同的分辨率下对字体缩放比例进行调整。

WinForm.AutoSizeHelper包

        这些问题困扰了我一段时间,但都被我一一解决了,同时为了方便后人,我将其封装成了一个工具包上传到了nuget源上,它的名称叫WinForm.AutoSizeHelper,这个包专门用来解决winform自适应分辨率的问题,你可以在VS的nuget管理器中搜索并下载它。

       关于这个包如何使用,以及如何解决我上面所说的三个问题,详情请看仓库中的demo。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值