【C#】用组件的Anchor属性解决最大化组件的缩放问题
来源:互联网 发布:md5如何计算知乎 编辑:程序博客网 时间:2024/06/14 05:10
如果不对组件进行任何设置,同时也不禁用C#窗体的最大化按钮,设置Form1不可调整,在Form1最大化之后,默认是如下图的效果:
这显然不符合大多数的审美,其实只要全选所有组件,不包含窗体,设置其所有组件的Anchor属性就好。
将Top,Left改成Top,Left,Right就好,
就是点一点下图的右端的长方形就好。
这样设置的话得到的效果如下图:
其实这已经足够了,如果还要进一步设置,则对Form1添加Resize事件,在于里面再对组件的位置进行调整。
我找了很久,都还有统一遍历并调整所有组件位置、大小的方法,比如Button支持Height属性调整大小,combobox与TextBox却要利用Button1不支持的调整Font的大小,来调整其中的大小。
同时,在Form1的Resize事件用foreach (Control ctl in this.Controls)遍历组件的时候,得到的控件顺序是逆转的,而且得到的只是一个Form1子控件的数组,比如如果form1下有groupbox下如果还有button1,其不在Form1.Controls这个控件数组中,因此只用Anchor既快捷又迅速,又明了。
Anchor是如下图的一个属性,不同的窗口大小又不同的对齐。
有的人可能疑惑,上述的例子为何不对所有组件的Anchor设置为top,left.right.bottom四个方位呢?那是因为四个方式都有Anchor的话,C#窗体会对所有组件的大小进行拉伸,但是textbox,combobox这些组件,并不支持高度拉伸。
窗体的缩放,我个人觉得与网页组件的布置一样,如果你难以在所有不同尺寸浏览器用百分比大小进行布局,那就让它居中吧。
- 【C#】用组件的Anchor属性解决最大化组件的缩放问题
- 组件的缩放
- ABP Asp.net(c#) 找不到组件问题的解决
- 组件类的属性
- hibernate 的组件属性
- 解决无法获取组件大小的问题
- Win8中解决组件服务中右键我的电脑没有属性的问题
- Android自定义组件添加组件的属性
- React1 创建React组件、组件的属性
- C#----属性应用之自定义组件和用户组件的属性设置
- flex组件的缩放和拖动
- fusionchart for flex 仪表盘组件的缩放
- 解决外部引用的js文件不能获取服务端组件的ClientID问题(c#)
- AntDesign 的 Table 组件的 expandedRowRender 属性失效的问题
- winfrom窗体的Anchor属性、Dock属性
- 可实现JSCROLLPANE内VIEW最大化的工具 - SWING组件
- NGUI UIRect及其派生类利用Anchor的动态定位组件位置
- 定义组件属性的缺省值
- mysql数据完整性测试
- 2015ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学) HDU 5512 Pagodas
- 关于statebar的隐藏和显示的问题
- Java 集合
- Oracle GoldenGate 之--异构平台同步(Mysql到Oracle)
- 【C#】用组件的Anchor属性解决最大化组件的缩放问题
- 深度学习系列-前言:深度学习的好教程
- aupe.h文件找不到
- c++中string类的详解
- bzoj1008[HNOI2008]越狱
- MySQL性能优化的最佳21条经验
- & | 与&& ||
- 计算机经典教材(计算机牛人的必由之路)(转)
- hdoj--5256--序列变换(lis变形)