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

上一篇:C#和Ruby语言也有一定的提高,各自为50%和41%


下一篇:Winform开发的快速、健壮、解耦的几点建议