查看: 536|回复: 1
收起左侧

[教程经验] C#快速自适应布局

邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
实现方式:
会将from装进Panel里面对控件进行自动计算。
在项目中添加AutoWindowsSize.cs类,内容如下:
(优势:不需要在Form1中添加任何布局,直接将类复制到项目中,在form1代码中调用即可,页面大小会自动计算,修改方便,速度快。)
缺点:页面如果是背景图片,页面特别快的时候,页面会有闪烁情况。
缺点:
(如果Form1中有背景图片,会直接显示成纯图的背景,原因是在AutoAdaptWindowsSize类中会创建一个panel,panel背景颜色会自动设置,而pannel的纯色背景会覆盖掉Form1的背景,本质上是panel的背景。所以可以给Panel设置背景图片或将panel背景色修改为Transparent,如:
     Win_Panel1.BackColor = Color.Transparent;
这样在展示中可以正常的显示背景图片。)
其次:因为修改窗口需要对界面重新绘制,在拖动窗口时会出现比较严重的闪屏现象,需要在Form1的设计器中添加任意位置添加如下代码:
   // 引入Forms。
using System.Windows.Forms;protected override CreateParams CreateParams{    get    {        CreateParams cp = base.CreateParams;        cp.ExStyle |= 0x02000000;        return cp;    }}

AutoWindowsSize.cs类(复制即可)


<article data-content="[{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;wPgG-1669300232392&quot;,&quot;name&quot;:&quot;code&quot;,&quot;data&quot;:{&quot;wrap&quot;:false,&quot;language&quot;:&quot;&quot;,&quot;theme&quot;:&quot;default&quot;},&quot;nodes&quot;:[{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;YS8l-1669300232391&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;6u7q-1669300217457&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;using System;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;TAN8-1669300246206&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;XG9G-1669300246205&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;using System.Collections.Generic;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;0ICs-1669300246208&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;Xqj2-1669300246207&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;using System.ComponentModel;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;RXvr-1669300246210&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;0ctW-1669300246209&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;using System.Data;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;sJgi-1669300246212&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;Dxwy-1669300246211&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;using System.Drawing;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;G9Xe-1669300246214&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;1BUL-1669300246213&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;//using System.Linq;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;qiu2-1669300246216&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;NmCS-1669300246215&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;using System.Text;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;rBmq-1669300246218&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;aY7q-1669300246217&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;using System.Windows.Forms;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;kqwY-1669300246220&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;r3z8-1669300246219&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;2gmB-1669300246222&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;drtV-1669300246221&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;using System.Drawing.Drawing2D;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;6uTQ-1669300246225&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;WerU-1669300246223&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;//using System.Threading.Tasks;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;HW9e-1669300246227&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;AEzv-1669300246226&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;XXjM-1669300246229&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;qi8n-1669300246228&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;WlWq-1669300246231&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;wQbt-1669300246230&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;namespace AutoWindowsSize\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;Nn3v-1669300246233&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;itv3-1669300246232&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;{\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;xxO9-1669300246235&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;y7Fw-1669300246234&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;    class AutoAdaptWindowsSize                       //窗口缩放对象\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;oyKI-1669300246237&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;OnQX-1669300246236&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;    {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;pHaZ-1669300246239&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;YoPh-1669300246238&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        double formOriginalWidth;//窗体高度原始宽度\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;g0hA-1669300246241&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;Wbos-1669300246240&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        double formOriginalHeight;//窗体原始\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;D3Ee-1669300246243&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quotHLn-1669300246242&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        double scaleX;//水平缩放比例\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;uHTw-1669300246245&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;gagz-1669300246244&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        double scaleY;//垂直缩放比例\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;ZLth-1669300246249&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;5vwj-1669300246248&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        Dictionary ControlsInfo = new Dictionary();//控件中心Left,Top,控件Width,控件Height,控件字体Size\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;kRFz-1669300246251&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;Wg3J-1669300246250&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;47JG-1669300246253&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;V63d-1669300246252&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        private Form _form;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;iNjC-1669300246255&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;xO4Q-1669300246254&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        Panel Win_Panel1 = new Panel();\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;iUvK-1669300246259&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;poQH-1669300246258&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        public AutoAdaptWindowsSize(Form form)\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;wYXG-1669300246261&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;0QkD-1669300246260&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;eKmQ-1669300246263&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;CmLH-1669300246262&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            _form = form;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;Ly2d-1669300246265&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;0OVh-1669300246264&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;lpsu-1669300246267&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;7S5E-1669300246266&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            //代码生成一个容器panel1,添加至窗体\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;5Fsc-1669300246269&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;6LHt-1669300246268&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            _form.Controls.Add(Win_Panel1);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;ABsB-1669300246271&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;RcLE-1669300246270&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            Win_Panel1.BorderStyle = BorderStyle.None;    //容器border样式\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;nGbT-1669300246273&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;A3m5-1669300246272&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            Win_Panel1.Dock = DockStyle.Fill;             //设置填充,下面添加控件至容器完成后,容器会填充窗口&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;zYas-1669360114552&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;lsEO-1669360114550&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            Win_Panel1.BackColor = Color.TransParents;    // 设置为透明背景\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;4kSh-1669300246279&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;5o2f-1669300246278&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            //将窗体所有控件添加至panel1\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;FeAN-1669300246281&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;vWVw-1669300246280&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            while (_form.Controls[0].Name.Trim() != \&quot;\&quot;)\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;fOYK-1669300246283&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;dPDs-1669300246282&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;GBaG-1669300246285&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;VCSq-1669300246284&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                foreach (Control item in _form.Controls)\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;hysF-1669300246287&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;4VCm-1669300246286&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;FbAv-1669300246289&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;ac7W-1669300246288&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;HPao-1669300246291&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;t3HE-1669300246290&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    if (item.Name.Trim() != \&quot;\&quot; && item.Name.Trim() != Win_Panel1.Name.Trim())\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;yt3K-1669300246293&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;Sve6-1669300246292&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;Ot9n-1669300246295&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;vyyg-1669300246294&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                        Win_Panel1.Controls.Add(item);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;UKkA-1669300246297&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;WCMG-1669300246296&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;uvAr-1669300246299&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;a8Vy-1669300246298&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;oDHa-1669300246301&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;Dz5f-1669300246300&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;l6i1-1669300246303&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;xc41-1669300246302&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;jSwL-1669300246305&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;BWgB-1669300246304&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            //保存窗体和控件初始大小\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;tNPc-1669300246307&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;gZWq-1669300246306&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            InitControlsInfo(Win_Panel1);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;Zm7T-1669300246309&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;iPqc-1669300246308&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;GCCg-1669300246311&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;R3M3-1669300246310&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;s18w-1669300246319&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;HCwu-1669300246318&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        public void InitControlsInfo(Control ctrlContainer)\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;Lr1q-1669300246321&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;OJEg-1669300246320&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;6sds-1669300246323&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;bXkn-1669300246322&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            if (ctrlContainer.Parent == _form)//获取窗体的高度和宽度\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;9oih-1669300246325&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;4GKN-1669300246324&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;3uqf-1669300246327&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;LSAq-1669300246326&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                formOriginalWidth = Convert.ToDouble(ctrlContainer.Width);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;WLcY-1669300246329&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;kaPc-1669300246328&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                formOriginalHeight = Convert.ToDouble(ctrlContainer.Height);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;lmgG-1669300246331&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;It9Z-1669300246330&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quotyfH-1669300246333&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;nSA5-1669300246332&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            foreach (Control item in ctrlContainer.Controls)\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;C6ln-1669300246335&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;uvla-1669300246334&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;eQrj-1669300246337&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;cpbn-1669300246336&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                if (item.Name.Trim() != \&quot;\&quot;)\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;w8Yq-1669300246339&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;iKlg-1669300246338&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;sRCk-1669300246341&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;9T94-1669300246340&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    //添加信息:键值:控件名,内容:据左边距离,距顶部距离,控件宽度,控件高度,控件字体。\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;ZCfz-1669300246343&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;OR1V-1669300246342&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    ControlsInfo.Add(item.Name, (item.Left + item.Width / 2) + \&quot;,\&quot; + (item.Top + item.Height / 2) + \&quot;,\&quot; + item.Width + \&quot;,\&quot; + item.Height + \&quot;,\&quot; + item.Font.Size);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;EOFF-1669300246345&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;dIPP-1669300246344&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;fdS4-1669300246347&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;Lh03-1669300246346&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                if ((item as UserControl) == null && item.Controls.Count > 0)\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;uSEm-1669300246349&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;UESX-1669300246348&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;DFBS-1669300246352&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;6vos-1669300246351&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    InitControlsInfo(item);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;z3bj-1669300246354&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;uwDJ-1669300246353&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;S21t-1669300246356&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;ijMZ-1669300246355&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quotgcL-1669300246358&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;3qNO-1669300246357&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;GCPW-1669300246360&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;BUmM-1669300246359&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;JjX7-1669300246366&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;YLsB-1669300246365&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        public void FormSizeChanged()\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;vwph-1669300246368&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;6JVo-1669300246367&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;ktI2-1669300246370&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;2Cti-1669300246369&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            try\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;rVwO-1669300246372&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;9Js4-1669300246371&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;UDPA-1669300246374&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;rnKF-1669300246373&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                if (ControlsInfo.Count > 0)//如果字典中有数据,即窗体改变\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;SQQ3-1669300246376&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;k5V0-1669300246375&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;j4Xu-1669300246378&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;jmqP-1669300246377&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    ControlsZoomScale(Win_Panel1);//表示pannel控件\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;XdBX-1669300246380&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;bOMC-1669300246379&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    ControlsChange(Win_Panel1);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;84ie-1669300246382&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;xAsy-1669300246381&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;6dtW-1669300246384&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;LY6F-1669300246383&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;fXpY-1669300246386&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;SIDi-1669300246385&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            catch { }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;4uss-1669300246388&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;M8KF-1669300246387&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;tBsr-1669300246390&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;2TWu-1669300246389&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        private void ControlsZoomScale(Control ctrlContainer)\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;kKzK-1669300246392&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;NmPO-1669300246391&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;U52r-1669300246394&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;n3Nq-1669300246393&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            scaleX = (Convert.ToDouble(ctrlContainer.Width) / formOriginalWidth);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;fYZM-1669300246396&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;5Dn2-1669300246395&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            scaleY = (Convert.ToDouble(ctrlContainer.Height) / formOriginalHeight);\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;UNx9-1669300246398&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;kMnk-1669300246397&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;E8d9-1669300246402&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;8F2v-1669300246401&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;CtpI-1669300246404&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;9IXg-1669300246403&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        // 改变控件大小\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;fpaO-1669300246406&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;siUQ-1669300246405&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;udZJ-1669300246410&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;d7nR-1669300246409&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        private void ControlsChange(Control ctrlContainer)\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;KjFb-1669300246412&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;RZKR-1669300246411&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;        {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;3XUa-1669300246414&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;SwUw-1669300246413&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            double[] pos = new double[5];//pos数组保存当前控件中心Left,Top,控件Width,控件Height,控件字体Size\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;7y8G-1669300246416&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;Rglk-1669300246415&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            foreach (Control item in ctrlContainer.Controls)//遍历控件\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;x4eF-1669300246418&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;fryZ-1669300246417&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;            {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;MyBG-1669300246420&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;TTJF-1669300246419&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                if (item.Name.Trim() != \&quot;\&quot;)//如果控件名不是空,则执行\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;ITjI-1669300246422&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;ERtd-1669300246421&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;aHWX-1669300246424&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;nEMJ-1669300246423&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    if ((item as UserControl) == null && item.Controls.Count > 0)//如果不是自定义控件\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;6ba2-1669300246426&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;jHNx-1669300246425&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    {\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;rdmN-1669300246428&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;3I9j-1669300246427&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                        ControlsChange(item);//循环执行\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;8JEh-1669300246430&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;vzQz-1669300246429&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    }\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;tBDl-1669300246432&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;FpB8-1669300246431&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    string[] strs = ControlsInfo[item.Name].Split(',');//从字典中查出的数据,以‘,’分割成字符串组\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;pffY-1669300246434&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;oB3c-1669300246433&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;\r&quot;,&quot;marks&quot;:[]}]}]},{&quot;type&quot;:&quot;block&quot;,&quot;id&quot;:&quot;5teH-1669300246436&quot;,&quot;name&quot;:&quot;code-line&quot;,&quot;data&quot;:{},&quot;nodes&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;id&quot;:&quot;cyBV-1669300246435&quot;,&quot;leaves&quot;:[{&quot;text&quot;:&quot;                    for (int i = 0; i using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;//using System.Linq;using System.Text;using System.Windows.Forms;using System.Drawing.Drawing2D;//using System.Threading.Tasks;namespace AutoWindowsSize{    class AutoAdaptWindowsSize                       //窗口缩放对象    {        double formOriginalWidth;//窗体高度原始宽度        double formOriginalHeight;//窗体原始        double scaleX;//水平缩放比例        double scaleY;//垂直缩放比例        Dictionary<string, string> ControlsInfo = new Dictionary<string, string>();//控件中心Left,Top,控件Width,控件Height,控件字体Size        private Form _form;        Panel Win_Panel1 = new Panel();        public AutoAdaptWindowsSize(Form form)        {            _form = form;            //代码生成一个容器panel1,添加至窗体            _form.Controls.Add(Win_Panel1);            Win_Panel1.BorderStyle = BorderStyle.None;    //容器border样式            Win_Panel1.Dock = DockStyle.Fill;             //设置填充,下面添加控件至容器完成后,容器会填充窗口            Win_Panel1.BackColor = Color.TransParents;    // 设置为透明背景            //将窗体所有控件添加至panel1            while (_form.Controls[0].Name.Trim() != "")            {                foreach (Control item in _form.Controls)                {                    if (item.Name.Trim() != "" && item.Name.Trim() != Win_Panel1.Name.Trim())                    {                        Win_Panel1.Controls.Add(item);                    }                }            }            //保存窗体和控件初始大小            InitControlsInfo(Win_Panel1);        }        public void InitControlsInfo(Control ctrlContainer)        {            if (ctrlContainer.Parent == _form)//获取窗体的高度和宽度            {                formOriginalWidth = Convert.ToDouble(ctrlContainer.Width);                formOriginalHeight = Convert.ToDouble(ctrlContainer.Height);            }            foreach (Control item in ctrlContainer.Controls)            {                if (item.Name.Trim() != "")                {                    //添加信息:键值:控件名,内容:据左边距离,距顶部距离,控件宽度,控件高度,控件字体。                    ControlsInfo.Add(item.Name, (item.Left + item.Width / 2) + "," + (item.Top + item.Height / 2) + "," + item.Width + "," + item.Height + "," + item.Font.Size);                }                if ((item as UserControl) == null && item.Controls.Count > 0)                {                    InitControlsInfo(item);                }            }        }        public void FormSizeChanged()        {            try            {                if (ControlsInfo.Count > 0)//如果字典中有数据,即窗体改变                {                    ControlsZoomScale(Win_Panel1);//表示pannel控件                    ControlsChange(Win_Panel1);                }            }            catch { }        }        private void ControlsZoomScale(Control ctrlContainer)        {            scaleX = (Convert.ToDouble(ctrlContainer.Width) / formOriginalWidth);            scaleY = (Convert.ToDouble(ctrlContainer.Height) / formOriginalHeight);        }        // 改变控件大小        private void ControlsChange(Control ctrlContainer)        {            double[] pos = new double[5];//pos数组保存当前控件中心Left,Top,控件Width,控件Height,控件字体Size            foreach (Control item in ctrlContainer.Controls)//遍历控件            {                if (item.Name.Trim() != "")//如果控件名不是空,则执行                {                    if ((item as UserControl) == null && item.Controls.Count > 0)//如果不是自定义控件                    {                        ControlsChange(item);//循环执行                    }                    string[] strs = ControlsInfo[item.Name].Split(',');//从字典中查出的数据,以‘,’分割成字符串组                    for (int i = 0; i < 5; i++)                    {                        pos[i] = Convert.ToDouble(strs[i]);//添加到临时数组                    }                    double itemWidth = pos[2] * scaleX;     //计算控件宽度,double类型                    double itemHeight = pos[3] * scaleY;    //计算控件高度                    item.Left = Convert.ToInt32(pos[0] * scaleX - itemWidth / 2);//计算控件距离左边距离                    item.Top = Convert.ToInt32(pos[1] * scaleY - itemHeight / 2);//计算控件距离顶部距离                    item.Width = Convert.ToInt32(itemWidth);//控件宽度,int类型                    item.Height = Convert.ToInt32(itemHeight);//控件高度                    if (float.Parse((pos[4] * Math.Min(scaleX, scaleY)).ToString()) != 0)         //缩放字体大小不能为0                    { item.Font = new Font(item.Font.Name, float.Parse((pos[4] * Math.Min(scaleX, scaleY)).ToString())); }  //字体                }            }        }    }}

创建结束以后,在Form1类中做如下操作:
1.引入using AutoWindowsSize;
using AutoWindowsSize;
2.在Form1类中设置全局变量。
AutoAdaptWindowsSize AutoSize;
3.在Form1_Load添加如下代码。
private void Form1_Load(object sender, EventArgs e){   

    AutoSize = new AutoAdaptWindowsSize(this);}
4.创建Form1_SizeChanged事件函数,如下:
private void Form1_SizeChanged(object sender, EventArgs e){    if (AutoSize != null)        {            AutoSize.FormSizeChanged();        }}










C#自适应布局Demo.rar

831.58 KB, 下载次数: 1

售价: 20  [记录]





上一篇:Learning hard C#学习笔记 [李志著]
下一篇:C#基础资料学习

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

微光 2023-5-15 11:33:34 | 显示全部楼层
怎么看着这莫乱啊,排版是不是有问题
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部