WinForm界面布局随分辨率改变

电脑更换分辨率时,软件内部的控件大小如果不跟着改变,会严重影响软件的实用性以及美观性。

解决方法1:

在Visual studio 2013中,窗体的属性中有一个AutoScaleMode属性,这个属性的作用是:指定 Windows 窗体支持的不同类型的自动缩放模式

属性名
    

属性说明

None
    

禁用自动缩放(默认时)

Font
    

根据类使用的字体(通常为系统字体)的维度控制缩放

Dpi
    

根据显示分辨率控制缩放,常用分辨率为 96 和 120 DPI

Inherit
    

根据类的父类的缩放模式控制缩放,如果不存在父类,则禁用自动缩放

 

解决方法2:

把窗体定义为一个表格布局,然后把空间全部都绑定在表格布局的固定位置,当改变表格大小的时候,空间大小自动跟随表格单元格大小进行改变。

实行样例:

1.窗体添加表格布局TableLayoutPanel

2.设置TableLayoutPanel控件的Dock属性为“Fill”,这样就实现了作为自动填充满窗体

 

3.设置TableLayoutPanel控件的行和列,设置成百分比形式,这样就可以实现对于当窗体变大或缩小时,控件大小自动改变

 

4.添加控件到表格中,并且控件的Dock值也为Fill,这样就可实现控件随表格大小改变

5.实现效果

心得:最好是两个解决方法一起使用,先设置AutoScaleMode属性为DPI,获取电脑的分辨率改变窗体的大小,然后再设置TableLayoutPanel进行对窗体内部的自动变更调整的设置。

新问题:当你的控件需要可能两个以上的表格位置时,应该怎么操作?

答案:

————————————————
版权声明:本文为CSDN博主「静谧的小码农」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36439293/article/details/81010056

posted @   易胆大888  阅读(592)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示