窗体控件随窗体大小改变(仍有不足)
private void frmWatch_Load(object sender, EventArgs e){FormWidth = this.Width;FormHeight = this.Height;SetTag(this);}/// <summary>/// 窗体控件自适应大小/// </summary>private float formWidth;private float formHeight;public float FormHeight{get { return formHeight; }set { formHeight = value; }}public float FormWidth{get { return formWidth; }set { formWidth = value; }}/// <summary>/// 设置Tag标签/// </summary>/// <param name="controls">控件</param>public void SetTag(Control controls){foreach (Control control in controls.Controls){control.Tag = control.Width + ":" + control.Height + ":" + control.Left + ":" + control.Top + ":" + control.Font.Size;if (control.Controls.Count > 0){SetTag(control);}}}/// <summary>/// 设置控件大小/// </summary>/// <param name="newX">X坐标</param>/// <param name="newY">Y坐标</param>/// <param name="controls">控件</param>/// <summary>private void SetControls(float newX, float newY, Control controls){foreach (Control control in controls.Controls){string[] myTag = control.Tag.ToString().Split(':');//控件的宽float length = Convert.ToSingle(myTag[0]) * newX;control.Width = (int)length;//控件的高length = Convert.ToSingle(myTag[1]) * newY;control.Height = (int)length;//控件的X坐标length = Convert.ToSingle(myTag[2]) * newX;control.Left = (int)length;//控件的Y坐标length = Convert.ToSingle(myTag[3]) * newY;control.Top = (int)length;Single currentSize = Convert.ToSingle(myTag[4])*newY;control.Font = new System.Drawing.Font(control.Font.Name, currentSize, control.Font.Style, control.Font.Unit);if (control.Controls.Count > 0){SetControls(newX,newY,control);}}}/// <summary>/// 调整控件的大小/// </summary>public void ControlResize(Control control){float newX = control.Width / FormWidth;float newY = control.Height / FormHeight; ;SetControls(newX,newY,control);}private void frmWatch_Resize(object sender, EventArgs e){ControlResize(this);}//form的属性AutoSize 默认为faule 不要设置成true
转载于:https://www.cnblogs.com/Iyce/archive/2013/01/11/2856107.html
窗体控件随窗体大小改变(仍有不足)相关推荐
- 窗体控件随窗体大小改变(包括字体大小)
文章参考:http://blog.csdn.net/loveme1204/archive/2007/12/24/1964577.aspx 是一篇vb编写的,我只是把它翻译成c#的. 其实Anchor和 ...
- MFC窗体控件随窗体变化
/定义函数.变量//void resize();POINT Old;//存放对话框的宽和高/// void CNewFrameDlg::OnSize(UINT nType, int cx, int c ...
- C#窗体控件随窗体变大而变大
PC 环境 win10 ,编译器 visual studio2015 private float X;private float Y;private void setTag(Control cons) ...
- winformbutton边框怎么改_C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法
C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法 1.新建组件这里可以自定义一个Panel控件起名为PanelEx 2.增加一个BoderColor属性和BoderSize属性 pr ...
- vba数据类型,运算符,内置函数,循环判断语句,窗体控件
文章目录 VBA基本数据类型 示例代码 声明常量,运算符和表达式 内置函数 代码 可视化编程 判断语句 循环语句 窗体控件,窗体的加载卸载 listbox,checkbox,combobox VBA基 ...
- QT窗体控件自适应大小
介绍QT中的几种常见布局 常用的布局方法: (1)使用水平布局类QHBoxLayout: (2)使用垂直布局类QVBoxLayout: (3)使用网格布局类QGridLayout: (4)使用表格布局 ...
- 机房收费--主界面(控件随窗体成比例改变)
机房收费系统的主界面是用MDI窗体做的,遇到的第一个问题就是无法在窗体上放Command和textbox等无对齐属性的控件,然后就需要用picturebox做容器存放这些无对齐属性的控件.但是当运行起 ...
- C#如何实现窗体控件大小随窗体大小变化(包括字体)
如图,拖动窗体即可改变控件大小(包括字体) 窗体尺寸:345*315 窗体尺寸:603*509 项目资源如下 源码如下 using System; using System.Collections.G ...
- winform窗体控件
目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichTextBox控件 5.NumericUpDown控件 6.Button(按钮)控件 7.Gro ...
最新文章
- c语言仪器仪表课程设计,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
- 构建稳固的、可升缩的CSS框架的八大原则
- HDU 2897 邂逅明下(简单博弈)
- win11 wsl及ubuntu设置为wsl 2
- weblogic 用的人还多吗_2020年劳务工越来越多,出现这种“怪现状”,是发展的需求吗?...
- 让使用MSN就像访问网页一样容易!
- 去授权美化版LM在线表白网页制作PHP源码
- Tomcat类加载器为何违背双亲委派模型
- Xcode 12: building for iOS Simulator, but linking in object file built fo... for architecture arm64
- 颜色表大全 颜色中英文对照表
- Google翻译插件
- 三点估算 Sigma(σ)的值,期望值,标准差
- Centos7 虚拟机迁移及扩容
- thinkpad电源管理解决办法 win2019
- CSS重叠解决边框相邻变粗问题
- python学习笔记项目_python第三方库之Django学习笔记一
- 已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,并把该字符串中的小写字母变成大写字母,其它字符保持不变。要求分别在屏幕上输出原字符串以及修改后的字符串。
- Mac OS 解决 remote: Permission to xxx/xxx.git denied to xxx. 的两种方案
- 【python】遍历log查找符合关键字的log
- “很抱歉,出现错误,Word不能启动(2)。”解决方法(转载),2023-3-3