我现在有一个用C#写的程序,用来监控设备的状态的,窗口上一堆的自定义控件来表示不同的设备。现在要把这个程序拿到一个低分辨率的显示器上显示,控件不能被完全显示出来,有的需要拖到滚动条才能看到。我想让它在低分辨率的显示器上也是满屏显示的,同时显示所有控件。
不知道这些自定义的控件能用anchor和dock属性来动态改变控件的大小和位置吗,因为这些控件非常多,排列也很复杂,有的是要多个控件叠加的,每个控件都有自己的Draw方法,里边的点的位置(用来确定图形的形状)是固定的,是不是只改变控件的Size和Position不行啊(点的位置超出了Size不就显示不全了吗)?
有没有方法可以根据分辨率的变化重画整个窗口中的所有控件,包括将控件变成小于原始值的?
每个控件都加重画的方法太麻烦了。
------解决方案--------------------------------------------------------
winform 不支持矢量变更大小,目前wpf支持这种特性
winform 需要做很多工作,比较麻烦
1、判断分辨率
2、在不同分辨率下调整控件坐标,总结出几种情况下的坐标或基本坐标
3、窗体加载resize时改变坐标
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
如果控件少的话 用Anchor Dock就行
如果多的话,自己计算,在Form_Resize()事件中 修改控件Height和Weight