C#界面动态布局 界面控件随着界面大小尺寸变化而变化
来源:互联网 发布:java常用的技术有哪些 编辑:程序博客网 时间:2024/05/17 21:19
要想写一个漂亮的界面,光靠利用Anchor和Dock属性是远远不够的,我们需要用到相对布局,就是不管窗口大小怎么变化,控件相对父控件的相对位置保持不变。可惜c#里没有提供按照百分比布局。所以只能自己再resize()事件里调整控件位置。
首先在窗体的构造函数里保存父窗体的长宽,以及每个控件的X,Y坐标的相对位置:
int count = this.Controls.Count * 2 + 2;
float [] factor=new float [count];
int i = 0;
factor[i++] = Size.Width;
factor[i++] = Size.Height;
foreach (Control ctrl in this.Controls)
{
factor[i++] = ctrl.Location.X / (float)Size.Width;
factor[i++] = ctrl.Location.Y / (float)Size.Height;
ctrl.Tag = ctrl.Size;
}
Tag = factor;
然后 在sizeChange事件中调整控件大小
int i = 2;
foreach (Control ctrl in this.Controls)
{
ctrl.Left = (int)(Size.Width * factor[i++]);
ctrl.Top = (int)(Size.Height * factor[i++]);
ctrl.Width = (int)(Size.Width / (float)factor[0] * ((Size)ctrl.Tag).Width);
ctrl.Height = (int)(Size.Height / (float)factor[1] * ((Size)ctrl.Tag).Height);
}
- C#界面动态布局 界面控件随着界面大小尺寸变化而变化
- C#巧用anchor和dock设计复杂界面(控件随着窗体大小的变化而变化)
- C#控件随着窗口大小变化而自动变化
- C#控件随着窗口大小变化而自动变化
- C# 界面随父界面大小比例变化
- 界面中单元格值的颜色随着值的变化而变化技巧
- QT界面大小自动变化
- MFC对话框中的控件随着对话框大小变化而变化
- easysize的使用方法 (实现控件大小位置随界面变化而有相应的变化,这个变化可以自己设置)
- |控件随着窗口变化而变化|
- Listcontrol控件随着框架窗口的大小而变化
- C++ MFC控件随着窗口大小变化而自适应
- C++ MFC控件随着窗口大小变化而自适应
- html5图片随界面大小变化
- 控件随着窗口大小变化
- 控件随着窗口大小变化
- IOS学习-随着键盘高度变化自动调节界面内容
- C#中怎样让控件大小随着窗体大小变化而变化?
- Linux安装Redis2.8.3
- asm 实例的管理
- 如何将matlab图像中的坐标值升序或降序排列
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump) (转载)
- OpenGL编程逐步深入(十)索引绘制
- C#界面动态布局 界面控件随着界面大小尺寸变化而变化
- STL系列之二_list与vector的区别
- tiny6410利用SD卡烧写bin裸机程序
- ios 系统自带的菊花(UIActivityIndicatorView)指示器
- Linux内核学习总结
- 安卓学习第十四天:多线程的数据安全,线程同步,数组,类集框架
- iOS开发ASIHTTPRequest下载数据
- MatLab画PU分割模式图
- android studio 更新 Gradle错误解决方法