架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 22846|回复: 2

[WinForm] winform窗口自适应窗口宽度和高度

[复制链接]
发表于 2016-10-7 11:43:12 | 显示全部楼层 |阅读模式
1458391656_983990.gif

其实winform并不适合做自适应这玩意的,虽然,能做是能做,

就像菜刀一样能切水果,但是,不是那么合适,毕竟有水果刀

wpf做自适应拉伸窗体,会更好一些。

代码:

  1. #region 自适应
  2.         private Size m_szInit;//初始窗体大小
  3.         private Dictionary<Control, Rectangle> m_dicSize
  4.             = new Dictionary<Control, Rectangle>();

  5.         protected override void OnLoad(EventArgs e)
  6.         {
  7.             m_szInit = this.Size;//获取初始大小
  8.             this.GetInitSize(this);
  9.             base.OnLoad(e);
  10.         }

  11.         private void GetInitSize(Control ctrl)
  12.         {
  13.             foreach (Control c in ctrl.Controls)
  14.             {
  15.                 m_dicSize.Add(c, new Rectangle(c.locatio{过滤}n, c.Size));
  16.                 this.GetInitSize(c);
  17.             }
  18.         }

  19.         protected override void OnResize(EventArgs e)
  20.         {
  21.             //计算当前大小和初始大小的比例
  22.             float fx = (float)this.Width / m_szInit.Width;
  23.             float fy = (float)this.Height / m_szInit.Height;
  24.             foreach (var v in m_dicSize)
  25.             {
  26.                 v.Key.Left = (int)(v.Value.Left * fx);
  27.                 v.Key.Top = (int)(v.Value.Top * fy);
  28.                 v.Key.Width = (int)(v.Value.Width * fx);
  29.                 v.Key.Height = (int)(v.Value.Height * fy);
  30.             }
  31.             base.OnResize(e);
  32.         }
  33.         #endregion
复制代码






上一篇:屏蔽右键、F12,避免查看源代码
下一篇:C#实现数字字符串左补齐0的两种方法
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-11-12 14:00:57 | 显示全部楼层
回帖表示感谢
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-2-20 17:44:43 | 显示全部楼层
回帖表示感谢
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-10-16 19:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表