我把屏幕划分成了3个区域,然后希望Form放到其中一个指定的屏幕区域。
放进去后,屏幕按照比例扩缩填充。form中所有的控件也按照比例扩缩。现在的办法是,
1:先获取屏幕区域大小
2:计算Form的扩缩比
3:每个控件按照扩缩比扩缩
4:显示扩缩后的Form请问:这个第3步,除了自己算,还有更好的自动扩缩的方法么??

解决方案 »

  1.   

    使用控件的Dock属性。当然你要先放上去一些Panel, SplitContainer之类的控件做布局。
      

  2.   

    实际上需要的不是严格的按比例缩放大小, 而是重新计算布局。Button可以永远那么大, 只不过位置可能需要修改。所以Dock, Padding, Margin几个属性用好了, 基本上都能摆平。如果是完美主义者, 非要全部放缩, 那么就在Form的SizeChange里面, 
    重新计算所有的Control的大小好了。用Foreach, 递归跑Controls属性就是了。