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

窗体控件随窗体大小改变(仍有不足)相关推荐

  1. 窗体控件随窗体大小改变(包括字体大小)

    文章参考:http://blog.csdn.net/loveme1204/archive/2007/12/24/1964577.aspx 是一篇vb编写的,我只是把它翻译成c#的. 其实Anchor和 ...

  2. MFC窗体控件随窗体变化

    /定义函数.变量//void resize();POINT Old;//存放对话框的宽和高/// void CNewFrameDlg::OnSize(UINT nType, int cx, int c ...

  3. C#窗体控件随窗体变大而变大

    PC 环境 win10 ,编译器 visual studio2015 private float X;private float Y;private void setTag(Control cons) ...

  4. winformbutton边框怎么改_C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法

    C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法 1.新建组件这里可以自定义一个Panel控件起名为PanelEx 2.增加一个BoderColor属性和BoderSize属性 pr ...

  5. vba数据类型,运算符,内置函数,循环判断语句,窗体控件

    文章目录 VBA基本数据类型 示例代码 声明常量,运算符和表达式 内置函数 代码 可视化编程 判断语句 循环语句 窗体控件,窗体的加载卸载 listbox,checkbox,combobox VBA基 ...

  6. QT窗体控件自适应大小

    介绍QT中的几种常见布局 常用的布局方法: (1)使用水平布局类QHBoxLayout: (2)使用垂直布局类QVBoxLayout: (3)使用网格布局类QGridLayout: (4)使用表格布局 ...

  7. 机房收费--主界面(控件随窗体成比例改变)

    机房收费系统的主界面是用MDI窗体做的,遇到的第一个问题就是无法在窗体上放Command和textbox等无对齐属性的控件,然后就需要用picturebox做容器存放这些无对齐属性的控件.但是当运行起 ...

  8. C#如何实现窗体控件大小随窗体大小变化(包括字体)

    如图,拖动窗体即可改变控件大小(包括字体) 窗体尺寸:345*315 窗体尺寸:603*509 项目资源如下 源码如下 using System; using System.Collections.G ...

  9. winform窗体控件

    目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichTextBox控件 5.NumericUpDown控件 6.Button(按钮)控件 7.Gro ...

最新文章

  1. c语言仪器仪表课程设计,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
  2. 构建稳固的、可升缩的CSS框架的八大原则
  3. HDU 2897 邂逅明下(简单博弈)
  4. win11 wsl及ubuntu设置为wsl 2
  5. weblogic 用的人还多吗_2020年劳务工越来越多,出现这种“怪现状”,是发展的需求吗?...
  6. 让使用MSN就像访问网页一样容易!
  7. 去授权美化版LM在线表白网页制作PHP源码
  8. Tomcat类加载器为何违背双亲委派模型
  9. Xcode 12: building for iOS Simulator, but linking in object file built fo... for architecture arm64
  10. 颜色表大全 颜色中英文对照表
  11. Google翻译插件
  12. 三点估算 Sigma(σ)的值,期望值,标准差
  13. Centos7 虚拟机迁移及扩容
  14. thinkpad电源管理解决办法 win2019
  15. CSS重叠解决边框相邻变粗问题
  16. python学习笔记项目_python第三方库之Django学习笔记一
  17. 已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,并把该字符串中的小写字母变成大写字母,其它字符保持不变。要求分别在屏幕上输出原字符串以及修改后的字符串。
  18. Mac OS 解决 remote: Permission to xxx/xxx.git denied to xxx. 的两种方案
  19. 【python】遍历log查找符合关键字的log
  20. “很抱歉,出现错误,Word不能启动(2)。”解决方法(转载),2023-3-3

热门文章

  1. POJ 1087 -- A Plug for UNIX(最大流,建图)(文末有极限数据)
  2. vector的基本操作
  3. win环境下安装python之matplotlib经历
  4. python3中的while语句、if语句
  5. 浅谈C++ 标准库中的异常 —— stdexcept类
  6. c 语言中unsigned char类型变量占用内存大小,C数据类型
  7. c++-内存管理-内存对齐方式
  8. 【讲●解】KMP算法
  9. Java 将字符串转换为字符数组 toCharArray()
  10. 十个书写Node.js REST API的最佳实践(上)