zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    selfhacking第六天
    Emacshacking第二天
    有符号数和无符号数在计算机中的存储方式以及在Verilog中的运用($signed函数)
    网络资源
    Asp.Net MVC 之 Autofac 初步使用1
    Asp.Net MVC 之 Autofac 初步使用3 集成web api
    Silverligth API for ArcGIS应用程序IIS发布
    WebContent的红色小叉
    [转载]2229岁的人怎么工作?
    Flex+Java 开发环境部署之一:JDK
  • 原文地址:https://www.cnblogs.com/yidanda888/p/15582536.html
Copyright © 2011-2022 走看看