Winform界面布局-容器内的控件适应容器
来源:互联网 发布:sql server if exists 编辑:程序博客网 时间:2024/05/05 12:14
由于用户改变界面大小或者程序在不同分辨率的屏幕下运行,都需要我们的程序界面能够根据实际大小重新布局。
winform控件有两个属性Anchor、Dock可以设置容器内的控件的大小或位置适应容器的大小。当容器大小改变时,容器的子控件的大小随之变化。但是我们的子控件如果变的太小时,反而影响了使用的效果。
例如form中包含一个Textbox和Button。Textbox的Anchor设置为top left right,这样textbox的大小就会跟着form变化而变化,宽度甚至可以一直缩小到0。button 的anchor属性设置为top right。button大小不变,但到form右边框的距离保持不变。
这样,不管用户怎么改变form大小,form中的控件都能随之改变,而不会产生大片的留白了。
但是问题又随之而来了:textbox随着form变的太小了,输入也不方便啊。甚至当form小到一定程度,连button也会无法完全显示了。即时我们对form的autoscroll设置了true,form也不会出现滚动条,这是因为内部控件大小在随着form的改变而改变。
所以我们在使用anchor,dock使得控件随容器变化而变化的同时,还要为控件设置一个最小尺寸,当容器使得内部控件小于这个尺寸时,内部控件就不在变化,容器也随之出现滚动条。
我找了很久也没找到控件的哪个属性能实现这种效果。于是我做了一个变通的方法。那就是在容器中加一个不铆接或者dock的控件做站位符,让这个站位符的大小为我们所希望的容器的最小的尺寸。这样当容器大小改变为比这个站位控件更小时,就会出现滚动条了。这个站位符控件anchor设置为top left;dock设置为none;背景颜色要设置成与容器相同的背景颜色;容器autoscroll设置为true;
这下好了,容器内控件可以随着容器变化而变化了,全屏程序任何分辨率下都能完美显示而不出现留白了,最关键的是容器有了最小尺寸,不用担心容器太小或者分辨率不足时有些按钮显示出来了。
- Winform界面布局-容器内的控件适应容器
- 遍历容器内的控件
- WinForm界面开发论(二)容器控件论
- C# 界面布局之Dock,Anchor,容器控件心得
- 遍历和查找容器内的控件
- 容器内的子控件居中显示
- WinForm 实现两个容器之间控件的拖动及排列
- WPF页面布局-容器控件
- Extjs4循序渐进(二)—Ext的界面(容器和布局)
- 标签的容器布局
- 图片自动适应容器大小的JS
- 在WinForm中,设置Visio控件的界面布局
- 清空容器内所有控件的值
- 【WPF】设置ListBox容器子控件的布局
- Java图像界面:容器、布局器
- 【WPF】Viewbox标签——控件大小适应父容器
- 容器布局
- 容器布局
- 某培训机构的培训内容
- 内存管理的文章
- 应用软件生产线 软件现代化生产的基础
- 架构
- 转载 wince+arm开发的工作内容
- Winform界面布局-容器内的控件适应容器
- 自己的bash,自己的shell终端
- The tag of<o:p> and the <?xml:namespace prefix = o /> in the html
- 【转】七种不良的打电话习惯有害健康
- 在C#中调用windows API函数
- Java23种设计模式通俗解释
- unresolved external symbol "private: static class std::codecvt问题的解决
- dsp中eallow edis是什么意思
- java中抽象类与接口详解