Browse Source

修改成自动布局

章政 8 years ago
parent
commit
3feb0a2c1b

+ 3 - 3
UAS_DLLTest/App.config

@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="utf-8" ?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
 <configuration>
     <startup> 
     <startup> 
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
     </startup>
     </startup>
-</configuration>
+</configuration>

+ 55 - 33
UAS_DLLTest/Form1.Designer.cs

@@ -28,7 +28,8 @@
         /// </summary>
         /// </summary>
         private void InitializeComponent()
         private void InitializeComponent()
         {
         {
-            this.groupBoxwithborder3 = new UAS_DLLTest.GroupBoxwithborder();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
+            this.Result = new UAS_DLLTest.GroupBoxwithborder();
             this.operateResult = new System.Windows.Forms.RichTextBox();
             this.operateResult = new System.Windows.Forms.RichTextBox();
             this.Parameters = new UAS_DLLTest.GroupBoxwithborder();
             this.Parameters = new UAS_DLLTest.GroupBoxwithborder();
             this.clearResult = new System.Windows.Forms.CheckBox();
             this.clearResult = new System.Windows.Forms.CheckBox();
@@ -36,27 +37,32 @@
             this.clear = new System.Windows.Forms.Button();
             this.clear = new System.Windows.Forms.Button();
             this.confirm = new System.Windows.Forms.Button();
             this.confirm = new System.Windows.Forms.Button();
             this.Methods = new UAS_DLLTest.GroupBoxwithborder();
             this.Methods = new UAS_DLLTest.GroupBoxwithborder();
-            this.groupBoxwithborder3.SuspendLayout();
+            this.Result.SuspendLayout();
             this.Parameters.SuspendLayout();
             this.Parameters.SuspendLayout();
             this.SuspendLayout();
             this.SuspendLayout();
             // 
             // 
-            // groupBoxwithborder3
-            // 
-            this.groupBoxwithborder3.BorderColor = System.Drawing.Color.Black;
-            this.groupBoxwithborder3.Controls.Add(this.operateResult);
-            this.groupBoxwithborder3.Location = new System.Drawing.Point(34, 494);
-            this.groupBoxwithborder3.Name = "groupBoxwithborder3";
-            this.groupBoxwithborder3.Size = new System.Drawing.Size(1219, 176);
-            this.groupBoxwithborder3.TabIndex = 2;
-            this.groupBoxwithborder3.TabStop = false;
-            this.groupBoxwithborder3.Text = "Result";
-            this.groupBoxwithborder3.TextColor = System.Drawing.Color.Black;
+            // Result
+            // 
+            this.Result.BorderColor = System.Drawing.Color.Black;
+            this.Result.Controls.Add(this.operateResult);
+            this.Result.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.Result.Location = new System.Drawing.Point(23, 323);
+            this.Result.Margin = new System.Windows.Forms.Padding(2);
+            this.Result.Name = "Result";
+            this.Result.Padding = new System.Windows.Forms.Padding(2);
+            this.Result.Size = new System.Drawing.Size(879, 141);
+            this.Result.TabIndex = 2;
+            this.Result.TabStop = false;
+            this.Result.Text = "Result";
+            this.Result.TextColor = System.Drawing.Color.Black;
             // 
             // 
             // operateResult
             // operateResult
             // 
             // 
-            this.operateResult.Location = new System.Drawing.Point(17, 27);
+            this.operateResult.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.operateResult.Location = new System.Drawing.Point(11, 25);
+            this.operateResult.Margin = new System.Windows.Forms.Padding(2);
             this.operateResult.Name = "operateResult";
             this.operateResult.Name = "operateResult";
-            this.operateResult.Size = new System.Drawing.Size(1185, 143);
+            this.operateResult.Size = new System.Drawing.Size(856, 100);
             this.operateResult.TabIndex = 0;
             this.operateResult.TabIndex = 0;
             this.operateResult.Text = "";
             this.operateResult.Text = "";
             // 
             // 
@@ -67,9 +73,12 @@
             this.Parameters.Controls.Add(this.clearPara);
             this.Parameters.Controls.Add(this.clearPara);
             this.Parameters.Controls.Add(this.clear);
             this.Parameters.Controls.Add(this.clear);
             this.Parameters.Controls.Add(this.confirm);
             this.Parameters.Controls.Add(this.confirm);
-            this.Parameters.Location = new System.Drawing.Point(34, 240);
+            this.Parameters.Font = new System.Drawing.Font("微软雅黑", 12F);
+            this.Parameters.Location = new System.Drawing.Point(23, 160);
+            this.Parameters.Margin = new System.Windows.Forms.Padding(2);
             this.Parameters.Name = "Parameters";
             this.Parameters.Name = "Parameters";
-            this.Parameters.Size = new System.Drawing.Size(1219, 239);
+            this.Parameters.Padding = new System.Windows.Forms.Padding(2);
+            this.Parameters.Size = new System.Drawing.Size(879, 159);
             this.Parameters.TabIndex = 1;
             this.Parameters.TabIndex = 1;
             this.Parameters.TabStop = false;
             this.Parameters.TabStop = false;
             this.Parameters.Text = "Parameter";
             this.Parameters.Text = "Parameter";
@@ -78,9 +87,11 @@
             // clearResult
             // clearResult
             // 
             // 
             this.clearResult.AutoSize = true;
             this.clearResult.AutoSize = true;
-            this.clearResult.Location = new System.Drawing.Point(928, 193);
+            this.clearResult.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.clearResult.Location = new System.Drawing.Point(763, 129);
+            this.clearResult.Margin = new System.Windows.Forms.Padding(2);
             this.clearResult.Name = "clearResult";
             this.clearResult.Name = "clearResult";
-            this.clearResult.Size = new System.Drawing.Size(133, 22);
+            this.clearResult.Size = new System.Drawing.Size(111, 25);
             this.clearResult.TabIndex = 3;
             this.clearResult.TabIndex = 3;
             this.clearResult.Text = "clearResult";
             this.clearResult.Text = "clearResult";
             this.clearResult.UseVisualStyleBackColor = true;
             this.clearResult.UseVisualStyleBackColor = true;
@@ -88,18 +99,22 @@
             // clearPara
             // clearPara
             // 
             // 
             this.clearPara.AutoSize = true;
             this.clearPara.AutoSize = true;
-            this.clearPara.Location = new System.Drawing.Point(800, 193);
+            this.clearPara.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.clearPara.Location = new System.Drawing.Point(648, 129);
+            this.clearPara.Margin = new System.Windows.Forms.Padding(2);
             this.clearPara.Name = "clearPara";
             this.clearPara.Name = "clearPara";
-            this.clearPara.Size = new System.Drawing.Size(115, 22);
+            this.clearPara.Size = new System.Drawing.Size(99, 25);
             this.clearPara.TabIndex = 2;
             this.clearPara.TabIndex = 2;
             this.clearPara.Text = "clearPara";
             this.clearPara.Text = "clearPara";
             this.clearPara.UseVisualStyleBackColor = true;
             this.clearPara.UseVisualStyleBackColor = true;
             // 
             // 
             // clear
             // clear
             // 
             // 
-            this.clear.Location = new System.Drawing.Point(594, 185);
+            this.clear.Font = new System.Drawing.Font("微软雅黑", 9F);
+            this.clear.Location = new System.Drawing.Point(455, 123);
+            this.clear.Margin = new System.Windows.Forms.Padding(2);
             this.clear.Name = "clear";
             this.clear.Name = "clear";
-            this.clear.Size = new System.Drawing.Size(92, 36);
+            this.clear.Size = new System.Drawing.Size(61, 28);
             this.clear.TabIndex = 1;
             this.clear.TabIndex = 1;
             this.clear.Text = "clear";
             this.clear.Text = "clear";
             this.clear.UseVisualStyleBackColor = true;
             this.clear.UseVisualStyleBackColor = true;
@@ -107,9 +122,11 @@
             // 
             // 
             // confirm
             // confirm
             // 
             // 
-            this.confirm.Location = new System.Drawing.Point(454, 185);
+            this.confirm.Font = new System.Drawing.Font("微软雅黑", 9F);
+            this.confirm.Location = new System.Drawing.Point(362, 123);
+            this.confirm.Margin = new System.Windows.Forms.Padding(2);
             this.confirm.Name = "confirm";
             this.confirm.Name = "confirm";
-            this.confirm.Size = new System.Drawing.Size(94, 36);
+            this.confirm.Size = new System.Drawing.Size(63, 28);
             this.confirm.TabIndex = 0;
             this.confirm.TabIndex = 0;
             this.confirm.Text = "confirm";
             this.confirm.Text = "confirm";
             this.confirm.UseVisualStyleBackColor = true;
             this.confirm.UseVisualStyleBackColor = true;
@@ -118,9 +135,12 @@
             // Methods
             // Methods
             // 
             // 
             this.Methods.BorderColor = System.Drawing.Color.Black;
             this.Methods.BorderColor = System.Drawing.Color.Black;
-            this.Methods.Location = new System.Drawing.Point(34, 12);
+            this.Methods.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.Methods.Location = new System.Drawing.Point(23, 8);
+            this.Methods.Margin = new System.Windows.Forms.Padding(2);
             this.Methods.Name = "Methods";
             this.Methods.Name = "Methods";
-            this.Methods.Size = new System.Drawing.Size(1219, 222);
+            this.Methods.Padding = new System.Windows.Forms.Padding(2);
+            this.Methods.Size = new System.Drawing.Size(879, 148);
             this.Methods.TabIndex = 0;
             this.Methods.TabIndex = 0;
             this.Methods.TabStop = false;
             this.Methods.TabStop = false;
             this.Methods.Text = "Method";
             this.Methods.Text = "Method";
@@ -128,16 +148,18 @@
             // 
             // 
             // Form1
             // Form1
             // 
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1285, 684);
-            this.Controls.Add(this.groupBoxwithborder3);
+            this.ClientSize = new System.Drawing.Size(913, 471);
+            this.Controls.Add(this.Result);
             this.Controls.Add(this.Parameters);
             this.Controls.Add(this.Parameters);
             this.Controls.Add(this.Methods);
             this.Controls.Add(this.Methods);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Margin = new System.Windows.Forms.Padding(2);
             this.Name = "Form1";
             this.Name = "Form1";
-            this.Text = "Form1";
+            this.Text = "UAS_DLL测试";
             this.Load += new System.EventHandler(this.Form1_Load);
             this.Load += new System.EventHandler(this.Form1_Load);
-            this.groupBoxwithborder3.ResumeLayout(false);
+            this.Result.ResumeLayout(false);
             this.Parameters.ResumeLayout(false);
             this.Parameters.ResumeLayout(false);
             this.Parameters.PerformLayout();
             this.Parameters.PerformLayout();
             this.ResumeLayout(false);
             this.ResumeLayout(false);
@@ -148,7 +170,7 @@
 
 
         private GroupBoxwithborder Methods;
         private GroupBoxwithborder Methods;
         private GroupBoxwithborder Parameters;
         private GroupBoxwithborder Parameters;
-        private GroupBoxwithborder groupBoxwithborder3;
+        private GroupBoxwithborder Result;
         private System.Windows.Forms.CheckBox clearResult;
         private System.Windows.Forms.CheckBox clearResult;
         private System.Windows.Forms.CheckBox clearPara;
         private System.Windows.Forms.CheckBox clearPara;
         private System.Windows.Forms.Button clear;
         private System.Windows.Forms.Button clear;

+ 70 - 45
UAS_DLLTest/Form1.cs

@@ -2,12 +2,8 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.ComponentModel;
-using System.Data;
 using System.Drawing;
 using System.Drawing;
-using System.Linq;
 using System.Reflection;
 using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
 namespace UAS_DLLTest
 namespace UAS_DLLTest
@@ -23,6 +19,7 @@ namespace UAS_DLLTest
         int icount = 0;
         int icount = 0;
         Queue<Control> query = new Queue<Control>();//临时存储获取到的control控件
         Queue<Control> query = new Queue<Control>();//临时存储获取到的control控件
         MethodInfo[] method;
         MethodInfo[] method;
+        int RowItemCount = 3;
         public Form1()
         public Form1()
         {
         {
             InitializeComponent();
             InitializeComponent();
@@ -31,6 +28,47 @@ namespace UAS_DLLTest
             ParamCollection = Parameters.Controls;
             ParamCollection = Parameters.Controls;
         }
         }
 
 
+        private void Form1_Load(object sender, EventArgs e)
+        {
+            //动态生成checkBox
+            method = helper.GetType().GetMethods();
+            List<MethodInfo> ShowMethods = new List<MethodInfo>();
+            for (int i = 0; i < method.Length; i++)
+            {
+                if (method[i].GetCustomAttributes(typeof(DescriptionAttribute), true).Length != 0)
+                {
+                    ShowMethods.Add(method[i]);
+                }
+            }
+            //动态的计算方法框的高度
+            //显示的控件才需要计数
+            int ControlHeight = 0;
+            Console.WriteLine(ShowMethods.Count);
+            for (int i = 0; i < ShowMethods.Count; i++)
+            {
+                RadioButton btn = new RadioButton();
+                btn.Name = method[i].Name;
+                btn.Text = method[i].Name;
+                btn.Anchor = AnchorStyles.Left;
+                btn.Anchor = AnchorStyles.Top;
+                btn.AutoSize = true;
+                ControlHeight = btn.Height;
+                //父控件三分之一的长度减去Radio的长度再除以2
+                btn.Location = new Point((Methods.Width / 6 - btn.Width) / 2 + (i % RowItemCount) * (Methods.Width / RowItemCount), 25 + (i / RowItemCount) * (btn.Height));
+                Methods.Controls.Add(btn);
+                btn.CheckedChanged += new EventHandler(radioButton_checkChanged);
+            }
+            //是否剩下一行没装满的
+            int LastRow = ShowMethods.Count % RowItemCount == 0 ? 0 : 1;
+            Methods.Size = new Size(Methods.Width, ControlHeight * (ShowMethods.Count / RowItemCount + ShowMethods.Count % RowItemCount+2));
+            Parameters.Location = new Point(Methods.Location.X, Methods.Location.Y + Methods.Size.Height);
+            Result.Location = new Point(Parameters.Location.X, Parameters.Location.Y + Parameters.Size.Height);
+            Height = Methods.Height + Parameters.Height + Result.Height + 50;
+            //使最大化窗口失效
+            MaximizeBox = false;
+            FormBorderStyle = FormBorderStyle.FixedSingle;
+        }
+
         private void radioButton_checkChanged(object sender, EventArgs e)
         private void radioButton_checkChanged(object sender, EventArgs e)
         {
         {
             removeControl();
             removeControl();
@@ -42,18 +80,19 @@ namespace UAS_DLLTest
                     //获取所有的参数
                     //获取所有的参数
                     icount = 0;
                     icount = 0;
                     param = helper.GetType().GetMethod(methodCollection[i].Name).GetParameters();
                     param = helper.GetType().GetMethod(methodCollection[i].Name).GetParameters();
-                    for (int j = 1; j < param.Length+1; j++)
+                    for (int j = 1; j < param.Length + 1; j++)
                     {
                     {
                         //参数名i开头的才需要显示
                         //参数名i开头的才需要显示
-                        if (!param[j - 1].Name.StartsWith("o"))
+                        if (param[j - 1].Name.StartsWith("i"))
                         {
                         {
                             icount += 1;
                             icount += 1;
                             ParamControl paramControl = new ParamControl();
                             ParamControl paramControl = new ParamControl();
                             paramControl.paramsName = param[j - 1].Name;
                             paramControl.paramsName = param[j - 1].Name;
-                            paramControl.paramsValueName= param[j - 1].Name;
-                            paramControl.Anchor= AnchorStyles.Left;
+                            paramControl.Font = new Font("微软雅黑", 9F, FontStyle.Regular, GraphicsUnit.Point, 134);
+                            paramControl.paramsValueName = param[j - 1].Name;
+                            paramControl.Anchor = AnchorStyles.Left;
                             paramControl.Anchor = AnchorStyles.Top;
                             paramControl.Anchor = AnchorStyles.Top;
-                            paramControl.Location = new Point((Parameters.Width/3-paramControl.Width)/2+((j-1)%3)*(Parameters.Width / 3),15+((j-1)/3)*(paramControl.Height+10));
+                            paramControl.Location = new Point((Parameters.Width / 3 - paramControl.Width) / 2 + ((j - 1) % 3) * (Parameters.Width / 3), 25 + ((j - 1) / 3) * (paramControl.Height));
                             Parameters.Controls.Add(paramControl);
                             Parameters.Controls.Add(paramControl);
                         }
                         }
                     }
                     }
@@ -69,7 +108,7 @@ namespace UAS_DLLTest
             //拿到所有已经填写的参数
             //拿到所有已经填写的参数
             for (int i = 0; i < ParamCollection.Count; i++)
             for (int i = 0; i < ParamCollection.Count; i++)
             {
             {
-                for (int j = 1; j < allParams.Length+1; j++)
+                for (int j = 1; j < allParams.Length + 1; j++)
                 {
                 {
                     if (j > icount)
                     if (j > icount)
                     {
                     {
@@ -77,9 +116,9 @@ namespace UAS_DLLTest
                     }
                     }
                     else
                     else
                     {
                     {
-                        if (ParamCollection[i] is ParamControl&& ((ParamControl)ParamCollection[i]).paramsValueName==param[j-1].Name)
+                        if (ParamCollection[i] is ParamControl && ((ParamControl)ParamCollection[i]).paramsValueName == param[j - 1].Name)
                         {
                         {
-                            if (param[j - 1].ParameterType.ToString()!= "System.String[]")
+                            if (param[j - 1].ParameterType.ToString() != "System.String[]")
                             {
                             {
                                 allParams[j - 1] = ((ParamControl)ParamCollection[i]).paramsValue;
                                 allParams[j - 1] = ((ParamControl)ParamCollection[i]).paramsValue;
                             }
                             }
@@ -94,61 +133,47 @@ namespace UAS_DLLTest
             //将out类型的参数放进去
             //将out类型的参数放进去
             string oResult = "";
             string oResult = "";
             //拿到需要触发的方法名
             //拿到需要触发的方法名
-            for (int i = 0; i < methodCollection.Count; i++) {
+            for (int i = 0; i < methodCollection.Count; i++)
+            {
                 if (((RadioButton)methodCollection[i]).Checked)
                 if (((RadioButton)methodCollection[i]).Checked)
                 {
                 {
                     Type type = helper.GetType();
                     Type type = helper.GetType();
-                    MethodInfo method =  type.GetMethod(((RadioButton)methodCollection[i]).Name);
+                    MethodInfo method = type.GetMethod(((RadioButton)methodCollection[i]).Name);
                     oResult = method.Invoke(helper, allParams).ToString();
                     oResult = method.Invoke(helper, allParams).ToString();
                 }
                 }
             }
             }
             //输出out出的信息
             //输出out出的信息
-            operateResult.AppendText("返回值:"+oResult+",");
-            for (int i=0;i<param.Length;i++) {
-                if (param[i].Name.StartsWith("o")) {
-                    operateResult.AppendText(param[i].Name + ":" + allParams[i]+",");
-                }
-            }
-            operateResult.AppendText("\n");
-        }
-
-        private void Form1_Load(object sender, EventArgs e)
-        {
-            //动态生成checkBox
-            method = helper.GetType().GetMethods();
-            for (int i=0;i<method.Length;i++) {
-                //判断是否需要显示
-                if (method[i].GetCustomAttributes(typeof(DescriptionAttribute), true).Length==0)
+            operateResult.AppendText("返回值:" + oResult + ",");
+            for (int i = 0; i < param.Length; i++)
+            {
+                if (param[i].Name.StartsWith("o"))
                 {
                 {
-                    continue;
+                    operateResult.AppendText(param[i].Name + ":" + allParams[i] + ",");
                 }
                 }
-                RadioButton btn = new RadioButton();
-                btn.Name = method[i].Name;
-                btn.Text= method[i].Name;
-                btn.Anchor = AnchorStyles.Left;
-                btn.Anchor = AnchorStyles.Top;
-                btn.AutoSize = true;
-                btn.Location = new Point((Methods.Width / 3 - btn.Width) / 2 + (i % 3) * (Methods.Width / 3), 12 + (i / 3) * (btn.Height +0));
-                Methods.Controls.Add(btn);
-                btn.CheckedChanged += new EventHandler(radioButton_checkChanged);
             }
             }
+            operateResult.AppendText("\n");
         }
         }
 
 
         private void clear_Click(object sender, EventArgs e)
         private void clear_Click(object sender, EventArgs e)
         {
         {
             //清除信息
             //清除信息
-            if (clearPara.Checked) {
-                for (int i=0;i< ParamCollection.Count;i++) {
-                    if (ParamCollection[i] is ParamControl) {
+            if (clearPara.Checked)
+            {
+                for (int i = 0; i < ParamCollection.Count; i++)
+                {
+                    if (ParamCollection[i] is ParamControl)
+                    {
                         ((ParamControl)ParamCollection[i]).paramsValue = "";
                         ((ParamControl)ParamCollection[i]).paramsValue = "";
                     }
                     }
                 }
                 }
             }
             }
             //清除日志
             //清除日志
-            if (clearResult.Checked) {
+            if (clearResult.Checked)
+            {
                 operateResult.Clear();
                 operateResult.Clear();
             }
             }
         }
         }
+
         /// <summary>
         /// <summary>
         /// 移除所有控件
         /// 移除所有控件
         /// </summary>
         /// </summary>
@@ -168,4 +193,4 @@ namespace UAS_DLLTest
             }
             }
         }
         }
     }
     }
-}
+}

+ 167 - 0
UAS_DLLTest/Form1.resx

@@ -117,4 +117,171 @@
   <resheader name="writer">
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAABAAAACEAAABBAAAATAAAAE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATQAA
+        AE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATQAA
+        AE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAASgAA
+        ADQAAAAQAAAAAQAAAAAAAAACAAAAJAAAAHYAAACrAAAAtQAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAA
+        ALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAA
+        ALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAAALQAAAC0AAAAtAAA
+        ALQAAAC0AAAAswAAAJgAAABOAAAADAAAAAAAAAAKAAAAWQAAANYAAAD5AAAA+wAAAPsAAAD7AAAA+wAA
+        APsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAA
+        APsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAA
+        APsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPEAAACiAAAAJAAAAAAAAAANAAAAjAAAAP0AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAOwAAAAAAAAANAAAAogAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+        AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADxAAAARgAA
+        AAAAAAANAQEBowICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wIC
+        Av8CAgL/AQAA/wAAAP8FBgX/DRMR/xkrJP8iQDX/J01A/ydPQf8nTkH/JUg7/x01Lf8SHBn/BwoK/wIB
+        Af8AAAD/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wIC
+        Av8CAgLxAQEBRwICAgAAAAANAwMDowQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQE
+        BP8EBAT/BAQE/wMDA/8DAgL/DRMR/yA/NP8ydF3/OJl2/zeqgf81soX/M7SG/zO0hv8ztIb/NLOG/zau
+        hP84on3/NYdq/ylYR/8VJR//BgUF/wMCAv8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQE
+        BP8EBAT/BAQE/wQEBP8EBATxAgICRwQEBAAAAAANAwMDowQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQE
+        BP8EBAT/BAQE/wQEBP8EBAT/AwIC/wgJCf8hQDX/NYpt/zWvhP8wt4f/K7SE/yqygv8qsYL/KrGC/yux
+        gv8rsYL/KrGC/yqxgv8qs4P/LbaG/zO1h/83n3v/LWVS/xEbF/8DAgL/BAQE/wQEBP8EBAT/BAQE/wQE
+        BP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBATxAgICRwQEBAAAAAANBQUFowcHB/8HBwf/BwcH/wcH
+        B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8FBAT/DRcT/y5tWP82rob/LbaI/yqyhf8qsYT/K7GF/yux
+        hf8rsYX/K7GF/yuxhf8rsYX/K7GF/yuxhf8rsYX/K7GE/yqxhP8rtIf/MbaK/zaUdP8cOS//BQQF/wcG
+        Bv8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8GBgbxAgICRwcHBwAAAAANBgYHowgI
+        CP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wcFBv8RHBj/Mn9l/zS1iv8tsob/LbGF/y6x
+        hf8usYX/LrGF/y6xhf8usYX/LrGF/y6xhf8usYX/LrGF/y6xhf8usYX/LrGF/y6xhf8usYX/LbGF/y+1
+        iP83pYD/IEQ5/wgGB/8IBwj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAjxAwMDRwgI
+        CAAAAAANBwcIowoKCv8KCgv/CgoL/woKC/8KCgv/CgoL/woKC/8KCgv/CQcJ/w4WE/8ygGb/NLaK/y6x
+        hf8vsYX/L7GF/y+xhf8vsYX/L7GF/y+xhf8vsYX/L7KG/y+yhv8vsob/L7KF/y+xhf8vsYX/L7GF/y+x
+        hf8vsYX/L7GF/y+xhf8wtYj/N6eB/x9BNf8IBgf/CgoK/woKC/8KCgv/CgoL/woKC/8KCgv/CgoL/woK
+        C/8JCQrxBAQERwoKCgAAAAANCQkJowwMDP8MDAz/DAwM/wwMDP8MDAz/DAwM/wwMDP8MCwz/DAwM/yhk
+        T/80tYn/L7KF/y+xhf8vsYX/L7GF/y+xhf8vsYX/L7KF/zC0h/8vs4b/LauA/yymfP8sp33/Lq6D/zC1
+        h/8vs4b/L7GF/y+xhf8vsYX/L7GF/y+xhf8vsYX/MLWI/zWceP8VJiH/CwkK/wwMDP8MDAz/DAwM/wwM
+        DP8MDAz/DAwM/wwMDP8LCwzxBQUFRwwMDAAAAAANCgoKow0NDf8NDQ3/DQ0N/w0NDf8NDQ3/DQ0N/w0N
+        Df8LCQr/Gzgu/zSqgf8vt4f/L7WG/y+1hv8vtYb/L7WG/y+1hv8vtof/L7WG/yiUbv8dX0n/FTsv/xMv
+        Jv8TMSj/F0Q2/yF0V/8spnv/L7eH/y+1hv8vtYb/L7WG/y+1hv8vtYb/L7SG/zK6iv8sdl3/DhAP/w0M
+        DP8NDQ3/DQ0N/w0NDf8NDQ3/DQ0N/w0NDf8MDA3xBgYGRw0NDgAAAAANDQ0NoxEREf8QEBH/EBAR/xAQ
+        Ef8QEBH/EBAR/xAQEP8PEBH/K3pg/zK6jv8vtYn/L7WJ/y+1if8vtYn/L7WJ/y+2iv8usof/InVZ/xQn
+        IP8QDg//DwwO/xANDv8QDQ7/DwwO/xATEv8YQDL/KJdy/y+3i/8vtYn/L7WJ/y+1if8vtYn/L7WJ/y+3
+        i/8zq4T/Gjcu/w8MDv8QEBH/EBAR/xAQEf8QEBH/EBAR/xAQEf8PDxDxBwcHRxAQEQAAAAANDg4OoxIS
+        E/8SEhL/EhIS/xISEv8SEhL/EhIT/xEPEP8YLCb/MqeB/zC3i/8wtYr/MLWK/zC1iv8wtYr/MLWK/zC2
+        i/8jdlv/ExsZ/xEOEP8SEhL/EhIT/xISEv8SEhP/EhIT/xIREv8RDg//GDku/yqeef8wt4z/MLWK/zC1
+        iv8wtYr/MLWK/zC1iv8zuY7/J25Y/xEQEf8SEhL/EhIS/xISEv8SEhL/EhIS/xISEv8RERLxCAgIRxIS
+        EwAAAAANDw8QoxUVFf8VFRX/FRUV/xUVFf8VFRX/FRUV/xMQEf8iVET/NLeL/zO2iv8ztYr/M7WK/zO1
+        iv8ztYr/M7iM/yyZdf8XKiX/FBET/xUVFf8VFRX/FRUV/xUVFf8VFRX/FRUV/xUVFf8VFBX/FBIT/x9a
+        R/8ys4j/M7aK/zO1iv8ztYr/M7WK/zO1iv80uYz/MJd0/xYfHP8UExT/FRUV/xUVFf8VFRX/FRUV/xUV
+        Ff8TExTxCAgIRxQUFQAAAAANERESoxYWGP8WFhj/FhYX/xYWF/8WFhj/FhYX/xUVFv8odlz/NLyO/zO4
+        i/8zuIv/M7iL/zO4i/8zuYv/M7eL/yJhTP8VExX/FhYX/xYWF/8WFhf/FhYX/xYWF/8WFhf/FhYX/xYW
+        F/8WFhj/FhQW/xgmIf8smHT/NLuN/zO4i/8zuIv/M7iL/zO4i/8zuYz/M66E/xs2Lf8VExX/FhYY/xYW
+        F/8WFhf/FhYX/xYWGP8VFRbxCQkJRxYWFwAAAAANExMUoxkZGf8ZGRn/GRkZ/xkZGf8ZGRn/GBcY/xgd
+        HP8si2z/NL2Q/zO5jv8zuY7/M7mO/zO5jv8zu4//MKmB/xw4MP8YFRf/GRkZ/xkZGf8ZGRn/GRkZ/xkZ
+        Gf8ZGRn/GRkZ/xkZGf8ZGRn/GRgZ/xgXGP8mcVj/M7yP/zO5jv8zuY7/M7mO/zO5jv8zuY7/NLeM/yBL
+        Pf8XFBb/GRkZ/xkZGf8ZGRn/GRkZ/xkZGf8XFxjxCgoLRxkZGgAAAAANFRUVoxsbHP8bGxz/Gxsc/xsb
+        HP8bGxz/Gxkb/xwkIv8wlXT/NryR/zW5jv81uY7/NbmO/zW5jv82vJD/LpVz/xwmJP8bGRv/Gxsc/xsb
+        HP8bGxz/Gxsc/xsbHP8bGxz/Gxsc/xsbHP8bGxz/Gxsc/xoXGf8jVEX/NbeM/zW6j/81uY7/NbmO/zW5
+        jv81uY7/NrqP/yVYR/8aFhj/Gxwd/xsbHP8bGxz/Gxsc/xsbHP8aGhvxDAwMRxwcHQAAAAANFhYXox4e
+        Hv8eHh7/Hh4e/x4eHv8eHh7/Hhwd/x4nJf8xmHX/Ob6Q/zi7jv84u47/OLuO/zi7jv85vpH/Lolr/x0i
+        If8eHR7/Hh4e/x4eHv8eHh7/Hh4e/x4eHv8eHh7/Hh4e/x4eHv8eHh7/Hh4e/x0aHP8jSDz/NrOI/zi8
+        j/84u47/OLuO/zi7jv84u47/OLyP/yZbSf8dGRr/Hh4e/x4eHv8eHh7/Hh4e/x4eHv8cHB3xDAwNRx4e
+        HwAAAAANGBgZox8fIf8fHyH/Hx8h/x8fIf8fHyH/Hx0g/yAoJ/8ymnb/OcGQ/zi+jv84vo7/OL6O/zi+
+        jv85wZD/LoVn/x8hIv8fHyD/Hx8h/x8fIf8fHyH/Hx8h/x8fIf8fHyH/Hx8h/x8fIf8fHyH/Hx8h/x8c
+        Hv8kRTr/NrOH/zjAj/84vo7/OL6O/zi+jv84vo7/OL+P/ydcS/8eGh3/HyAh/x8fIf8fHyH/Hx8h/x8f
+        If8eHh/xDQ0NRyAgIQAAAAANGhoboyIiI/8iIiP/IiIj/yIiI/8iIiP/IiAi/yIrKf8zm3f/OcGT/zm+
+        kf85vpH/Ob6R/zm+kf86wpP/LoNn/yEjI/8iIiL/IiIj/yIiI/8iIiP/IiIj/yIiI/8iIiP/IiIj/yIi
+        I/8iIiP/IiIj/yEeIP8lQzn/NrKI/znAkv85vpH/Ob6R/zm+kf85vpH/Ob+S/yleTf8hHR//IiIj/yIi
+        I/8iIiP/IiIj/yIiI/8gICHxDg4PRyIiJAAAAAANHBwdoyQkJv8lJSb/JCQm/yQkJv8kJSb/JCIk/yQt
+        K/81nHn/PMKU/zy/kv88v5L/PL+S/zy/kv88wpX/MYRo/yMlJf8kJCX/JCUm/yQkJv8kJCb/JCQm/yQk
+        Jv8kJCb/JCQm/yQkJv8kJCb/JCUm/yQhI/8nRTz/ObKJ/zzBk/88v5L/PL+S/zy/kv88v5L/PMCT/ypg
+        Tv8jHyL/JSUm/yQkJv8kJCb/JCQm/yUlJv8jIyTxDw8QRyUlJgAAAAANHR0foyYmKf8nJyn/JiYp/yYm
+        Kf8nJyn/JiQn/yYvLf82nnn/PcWU/zzBkv88wZL/PMGS/zzBkv89xZT/MoZp/yUnKP8mJij/Jicp/yYm
+        Kf8mJin/JiYp/yYmKf8mJin/JiYp/yYmKf8mJin/Jycp/yYjJv8pRz3/OrWJ/zzDk/88wZL/PMGS/zzB
+        kv88wpL/PMKT/yxhUP8lIST/Jycp/yYmKf8mJin/JiYp/ycnKf8lJSfxEBAQRycnKQAAAAANICAhoysr
+        LP8rKyv/Kysr/ysrK/8rKyv/Kigq/ykyMP83n3v/PcWW/z3Ck/89wpP/PcKT/z3Ck/89xZb/NIhr/ygq
+        K/8qKiv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/yonKf8rSUD/OraL/z3E
+        lf89wpP/PcKT/z3Ck/89wpT/PMOU/y5jUv8pJSf/Kyss/ysrK/8rKyv/Kior/ysrLP8pKSrxERESRysr
+        LAAAAAANIiIjoy0tLv8tLS7/LS0u/y0tLv8tLS7/LCot/ys0Mv85oH7/QMWZ/z/Cl/8/wpf/P8KX/z/C
+        l/9AxZn/Nolu/yosLf8sLC7/LS0u/y0tLv8tLS7/LS0u/y0tLv8tLS7/LS0u/y0tLv8tLS7/LS0u/ywp
+        LP8tS0P/PbaO/0DEmP8/wpf/P8KX/z/Cl/8/wpf/P8OX/zBlVP8rJyr/LS0u/y0tLv8tLS7/LCwu/y0t
+        Lv8rKyzxEhITRy0tLwAAAAANJCQkoy8vMP8vLy//Ly8v/y8vL/8vLy//Ly0u/y42NP87oX//QcaZ/0DC
+        l/9Awpf/QMKX/0DCl/9BxZn/N4pv/y0vL/8vLi//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8v
+        L/8vLy//Ly8v/y4rLf8vTUT/PbeP/0DEmP9Awpf/QMKX/0DCl/9Aw5f/QMOX/zJnVv8tKSz/Ly8w/y8v
+        L/8vLy//Ly8v/y8vMP8tLS3xExMURy8vMAAAAAANJSUmozAwMv8wMDL/MDAy/zAwMv8wMDL/MC4w/y84
+        Nv87o4D/QMiZ/0DFl/9AxZf/QMWX/0DFl/9AyJn/OI1v/y8wMf8wLzH/MDAy/zAwMv8wMDL/MDAy/zAw
+        Mv8wMDL/MDAy/zAwMv8wMDL/MDAy/y8sMP8xT0b/PrmP/0DHmf9AxZf/QMWX/0DFl/9AxZf/QMaY/zRp
+        WP8vKy7/MDAy/zAwMv8wMDL/MDAy/zAwMv8uLjDxFBQVRzExMwAAAAANJiYoozMzNf8zMzT/MzM0/zMz
+        NP8zMzT/MjEz/zE6OP87pIL/Qcmc/0DGmv9Axpr/QMaa/0DGmv9ByZz/OY5z/zEzNP8zMjT/MzM0/zMz
+        NP8zMzT/MzM0/zMzNP8zMzT/MzM0/zMzNP8zMzT/MzM0/zIvMv8zUUj/P7uS/0HIm/9Axpr/QMaa/0DG
+        mv9Axpr/QMea/zVqWf8xLTD/MzM1/zMzNP8zMzT/MzM0/zMzNf8xMTLxFRUWRzQ0NQAAAAANKSkqozY2
+        OP82Njj/NjY4/zY2OP82Njj/NTQ2/zQ8O/8+pIP/RMmd/0TGm/9Expv/RMab/0TGm/9EyZ3/O450/zQ1
+        Nv82NTf/NjY4/zY2OP82Njj/NjY4/zY2OP82Njj/NjY4/zY2OP82Njj/NjY4/zUyNf81Ukr/QbuT/0TI
+        nP9Expv/RMab/0TGm/9Expv/Q8eb/zdrW/80MDP/NjY4/zY2OP82Njj/NjY4/zY2OP8zMzXxFhYWRzY2
+        OAAAAAANKiosozg4Ov84ODr/ODg6/zg4Ov84ODr/ODY5/zY+Pf9ApoT/Rcud/0XHm/9Fx5v/Rceb/0XH
+        m/9Gy53/PY90/zY3Of84Nzr/ODg6/zg4Ov84ODr/ODg6/zg4Ov84ODr/ODg6/zg4Ov84ODr/ODg6/zc0
+        N/82VEz/Q7yT/0XJnP9Fx5v/Rceb/0XHm/9FyJv/Rcib/zluXf82Mjb/ODg6/zg4Ov84ODr/ODg6/zg4
+        Ov81NTfxFhYXRzg4OgAAAAANLCwuozo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojg7/zhBQP9AqYX/Rc6f/0XL
+        nP9Fy5z/Rcuc/0XLnf9Fzp7/PpJ2/zg5O/86OTz/Ojo8/zo6PP86Ojz/Ojo8/zo6PP86Ojz/Ojo8/zo6
+        PP86Ojz/Ojo8/zk3Ov85Vk7/Q7+U/0XNnv9Fy5z/Rcuc/0XLnP9Fy53/Rcyd/zpwX/84NDj/Ojo9/zo6
+        PP86Ojz/Ojo8/zo6Pf83NzrxGBgZRzo6PQAAAAANLi4wozw8P/88PD//PDw//zw8P/88PD//PDo+/zpD
+        Qv9CqYj/R86h/0bLn/9Gy5//Rsuf/0bLn/9HzqH/P5N5/zo7Pf88PD//PDw//zw8P/88PD//PDw//zw8
+        P/88PD//PDw//zw8P/88PD//PDw//zw5PP87WVH/RL+X/0fNoP9Gy5//Rsuf/0bLn/9Gy5//Rsyf/zxx
+        Yf87Nzv/PD0//zw8P/88PD//PDw//z09QP86OjzxGRkaRz09QAAAAAANMDAxoz8/QP8/P0D/Pz9A/z8/
+        QP8/P0D/Pz0//zxFRP9Eqoj/Sc6h/0nLn/9Jy5//Scuf/0nLn/9JzqH/QpV5/zw+P/8/PkD/Pz9A/z8/
+        QP8/P0D/Pz9A/z8/QP8/P0D/Pz9A/z8/QP8/P0D/Pz9A/z47Pv89WlH/R8CX/0nNoP9Jy5//Scuf/0nL
+        n/9Jy5//Scyg/z5zYv89OTz/Pz9A/z8/QP8/P0D/Pz9A/z8/QP88PD7xGhobRz8/QQAAAAANMTEzo0BA
+        Qv9AQEL/QEBC/0BAQv9AQEL/QD5B/z5HRf9FrYj/SdCh/0nNn/9JzZ//Sc2f/0nNn/9J0KH/QpZ6/z5A
+        Qf9AP0L/QEBC/0BAQv9AQEL/QEBC/0BAQv9AQEL/QEBC/0BAQv9AQEL/QEBC/z89QP8+XFP/R8GX/0nP
+        oP9JzZ//Sc2f/0nNn/9JzZ//Sc6f/0B1Y/8/Oz7/QEBD/0BAQv9AQEL/QEBC/0BAQ/8+PkDxGxscR0FB
+        QwAAAAANMzM1o0NDRv9DQ0X/Q0NF/0NDRf9DQ0X/QkFE/0BIR/9Froj/SdKh/0nPn/9Jz5//Sc+f/0nP
+        n/9J0qH/RJh7/0BBQ/9DQkX/Q0NF/0NDRf9DQ0X/Q0NF/0NDRf9DQ0X/Q0NF/0NDRf9DQ0X/Q0NF/0I/
+        Q/9AXlX/R8SY/0nRoP9Jz5//Sc+f/0nPn/9Jz5//SdCf/0F2ZP9BPUH/Q0NF/0NDRf9DQ0X/Q0NF/0ND
+        Rv9AQELxHBwcR0NDRQAAAAANNTU2o0VFR/9FRUf/RUVH/0VFR/9FRUf/RUNG/0JLSf9Hror/S9Ki/0rP
+        oP9Kz6D/Ss+g/0rPoP9L0qL/RZl9/0JERf9FREf/RUVH/0VFR/9FRUf/RUVH/0VFR/9FRUf/RUVH/0VF
+        R/9FRUf/RUVH/0RBRf9BYFf/ScSZ/0vRov9Kz6D/Ss+g/0rPoP9Kz6H/StCh/0N4Zv9DP0P/RUVH/0VF
+        R/9FRUf/RUVH/0VFR/9CQkPxHBwdR0VFRwAAAAANNjY4o0dHSv9HR0n/RkZJ/0ZGSf9HR0n/RkVI/0NM
+        TP9Ir43/TdKm/03PpP9Nz6T/Tc+k/03PpP9N0qb/Rpl+/0RFR/9HRkn/R0dJ/0ZGSf9GRkn/RkZJ/0ZG
+        Sf9GRkn/RkZJ/0ZGSf9GRkn/R0dJ/0ZDR/9DYVj/S8Sc/03Rpf9Nz6T/Tc+k/03PpP9Nz6T/TdCk/0R4
+        af9FQUX/R0dJ/0ZGSf9GRkn/RkZJ/0dHSv9DQ0bxHR0eR0dHSQAAAAANNzc5o0lJTP9JSUz/SUlM/0lJ
+        TP9JSUz/SUdK/0VOTf9JsI7/TdKm/03PpP9Nz6T/Tc+k/03PpP9N0qb/R5p//0ZHSf9JSEv/SUlM/0lJ
+        TP9JSUz/SUlM/0lJTP9JSUz/SUlM/0lJTP9JSUz/SUlM/0hFSf9FYlr/S8Sc/03Rpf9Nz6T/Tc+k/03P
+        pP9Nz6T/TdCl/0V6av9HQ0f/SUlM/0lJTP9JSUz/SUlL/0lJTP9FRUjxHh4fR0lJTAAAAAANOTk7o0pK
+        Tf9KSk3/SkpN/0pKTf9KSk3/SkhM/0dQTv9KsI7/TdKm/03PpP9Nz6T/Tc+k/03PpP9N0qb/R5uA/0dJ
+        S/9KSU3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0pKTf9KSk3/SkpN/0lHS/9FZFz/S8Sc/03R
+        pf9Nz6T/Tc+k/03PpP9Nz6T/TdCk/0d7av9JRUn/SkpN/0pKTf9KSk3/SkpN/0pKTv9HR0rxHx8gR0tL
+        TgAAAAANOjo7o01NTf9NTU3/TU1N/01NTf9NTU3/TUtM/0lRUP9KsY7/TdSm/03RpP9N0aT/TdGk/03R
+        pP9N1Kb/SJ2B/0lLTP9NTE3/TU1N/01NTf9NTU3/TU1N/01NTf9NTU3/TU1N/01NTf9NTU3/TU1N/0xJ
+        S/9HZV3/TMac/03Tpf9N0aT/TdGk/03RpP9N0aT/TdKk/0h8bP9LR0r/TU1N/01NTf9NTU3/TU1N/01N
+        Tf9JSUrxHx8gR01NTwAAAAAOOzs9o01NUP9NTVD/TU1Q/01NUP9NTVD/TUtO/0lSUv9LtZD/Ttmo/07W
+        pv9O1qb/Ttam/07Wpv9N2aj/SqCD/0tMTf9NTE//TU1Q/01NUP9NTVD/TU1Q/01NUP9NTVD/TU1Q/01N
+        UP9NTVD/TU1Q/01KTf9JaF7/Tcue/07YqP9O1qb/Ttam/07Wpv9O1qf/Tdem/0h+bf9MSEz/TU1Q/01N
+        UP9NTVD/TU1Q/01NUP9KSkzxICAhR09PUQAAAAANPDw+o05OUv9NTVL/TU1S/01NUv9NTVL/TUxR/0xU
+        Vf9IpIf/R8CZ/0e9l/9HvZf/R72X/0e+mP9HwJn/SJR8/0xOUf9NTVL/TU1S/01NUv9NTVL/TU1S/01N
+        Uv9NTVL/TU1S/01NUv9NTVL/TU1S/01LUP9LZV//R7WS/0e/mP9HvZf/R72X/0e9l/9Hvpj/R7+Y/0p5
+        a/9NSU//TU1S/01NUv9NTVL/TU1S/05OUv9KSk7xISEiRkhISwAAAAAJPz9BnlFRUv9RUVL/UVFS/1FR
+        Uv9RUVL/UVBS/1BSU/9KXFj/SF5Y/0hdWP9IXVj/SF1Y/0hdWP9IXlj/TFtX/1FRU/9RUFL/UVFS/1FR
+        Uv9RUVL/UVFS/1FRUv9RUVL/UVFS/1FRUv9RUVL/UVFS/1FQUv9PVFT/SV1Y/0hdWP9IXVj/SF1Y/0hd
+        WP9IXVj/SF5Y/05XVf9RUFL/UVFS/1FRUv9RUVL/UVFS/1FRU/9NTU/wIyMkQUFBQgAAAAABR0dKhlNT
+        Vv5SUlX/UlJV/1JSVf9SUlX/UlJV/1JSVf9SUFT/Uk9T/1JPU/9ST1P/Uk9T/1JPU/9ST1P/UlBU/1JS
+        Vf9SUlX/UlJV/1JSVf9SUlX/UlJV/1JSVf9SUlX/UlJV/1JSVf9SUlX/UlJV/1JSVf9SUVX/UlBU/1JP
+        U/9ST1P/Uk9T/1JPU/9ST1P/Uk9T/1JRVP9SUlX/UlJV/1JSVf9SUlX/UlJV/1JSVf9TU1bkMTEyLE1N
+        TwBZWVsATExOO19fYtZVVVn+U1NX/1NTV/9TU1f/U1NX/1NTV/9TU1f/U1NX/1NTV/9TU1f/U1NX/1NT
+        V/9TU1f/U1NX/1NTV/9TU1f/U1NX/1NTV/9TU1f/U1NX/1NTV/9TU1f/U1NX/1NTV/9TU1f/U1NX/1NT
+        V/9TU1f/U1NX/1NTV/9TU1f/U1NX/1NTV/9TU1f/U1NX/1NTV/9TU1f/U1NX/1NTV/9TU1f/U1NX/1pa
+        XvdbW12UODg5Ck5OUABeXl4AAAAAAn19gDZ+foKAdnZ6jXZ2eox2dnqMdnZ6jHZ2eox2dnqMdnZ6jHZ2
+        eox2dnqMdnZ6jHZ2eox2dnqMdnZ6jHZ2eox2dnqMdnZ6jHZ2eox2dnqMdnZ6jHZ2eox2dnqMdnZ6jHZ2
+        eox2dnqMdnZ6jHZ2eox2dnqMdnZ6jHZ2eox2dnqMdnZ6jHZ2eox2dnqMdnZ6jHZ2eox2dnqMdnZ6jHZ2
+        eox2dnqMeHh8jIGBhGNlZWYUm5ucABUVFQBjY2UARUVFAGtrbgBmZmoAYWFlAGFhZQBhYWUAYWFlAGFh
+        ZQBhYWUAYWFlAGFhZQBhYWUAYWFlAGFhZQBhYWUAYWFlAGFhZQBhYWUAYWFlAGFhZQBhYWUAYWFlAGFh
+        ZQBhYWUAYWFlAGFhZQBhYWUAYWFlAGFhZQBhYWUAYWFlAGFhZQBhYWUAYWFlAGFhZQBhYWUAYWFlAGFh
+        ZQBhYWUAYWFlAGFhZQBhYWUAYmJmAGpqbQBfX2AAAAAAADo6OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAA=
+</value>
+  </data>
 </root>
 </root>

+ 25 - 33
UAS_DLLTest/Properties/Resources.Designer.cs

@@ -1,69 +1,61 @@
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 // <auto-generated>
 // <auto-generated>
 //     此代码由工具生成。
 //     此代码由工具生成。
-//     运行时版本: 4.0.30319.42000
+//     运行时版本:4.0.30319.42000
 //
 //
-//     对此文件的更改可能导致不正确的行为,如果
-//     重新生成代码,则所做更改将丢失。
+//     对此文件的更改可能导致不正确的行为,并且如果
+//     重新生成代码,这些更改将会丢失。
 // </auto-generated>
 // </auto-generated>
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 
 
-namespace UAS_DLLTest.Properties
-{
-
-
+namespace UAS_DLLTest.Properties {
+    using System;
+    
+    
     /// <summary>
     /// <summary>
-    ///   强类型资源类,用于查找本地化字符串等。
+    ///   一个强类型资源类,用于查找本地化字符串等。
     /// </summary>
     /// </summary>
     // 此类是由 StronglyTypedResourceBuilder
     // 此类是由 StronglyTypedResourceBuilder
     // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
     // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
-    // 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+    // 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen
     // (以 /str 作为命令选项),或重新生成 VS 项目。
     // (以 /str 作为命令选项),或重新生成 VS 项目。
     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class Resources
-    {
-
+    internal class Resources {
+        
         private static global::System.Resources.ResourceManager resourceMan;
         private static global::System.Resources.ResourceManager resourceMan;
-
+        
         private static global::System.Globalization.CultureInfo resourceCulture;
         private static global::System.Globalization.CultureInfo resourceCulture;
-
+        
         [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
         [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal Resources()
-        {
+        internal Resources() {
         }
         }
-
+        
         /// <summary>
         /// <summary>
-        ///   返回此类使用的缓存 ResourceManager 实例。
+        ///   返回此类使用的缓存 ResourceManager 实例。
         /// </summary>
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Resources.ResourceManager ResourceManager
-        {
-            get
-            {
-                if ((resourceMan == null))
-                {
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
                     global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UAS_DLLTest.Properties.Resources", typeof(Resources).Assembly);
                     global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UAS_DLLTest.Properties.Resources", typeof(Resources).Assembly);
                     resourceMan = temp;
                     resourceMan = temp;
                 }
                 }
                 return resourceMan;
                 return resourceMan;
             }
             }
         }
         }
-
+        
         /// <summary>
         /// <summary>
-        ///   覆盖当前线程的 CurrentUICulture 属性
-        ///   使用此强类型的资源类的资源查找
+        ///   使用此强类型资源类,为所有资源查找
+        ///   重写当前线程的 CurrentUICulture 属性
         /// </summary>
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Globalization.CultureInfo Culture
-        {
-            get
-            {
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
                 return resourceCulture;
                 return resourceCulture;
             }
             }
-            set
-            {
+            set {
                 resourceCulture = value;
                 resourceCulture = value;
             }
             }
         }
         }

+ 13 - 17
UAS_DLLTest/Properties/Settings.Designer.cs

@@ -1,28 +1,24 @@
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 // <auto-generated>
 // <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
+//     此代码由工具生成。
+//     运行时版本:4.0.30319.42000
 //
 //
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
+//     对此文件的更改可能会导致不正确的行为,并且如果
+//     重新生成代码,这些更改将会丢失。
 // </auto-generated>
 // </auto-generated>
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 
 
-namespace UAS_DLLTest.Properties
-{
-
-
+namespace UAS_DLLTest.Properties {
+    
+    
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
-    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
-    {
-
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
-        public static Settings Default
-        {
-            get
-            {
+        
+        public static Settings Default {
+            get {
                 return defaultInstance;
                 return defaultInstance;
             }
             }
         }
         }

+ 66 - 2
UAS_DLLTest/UAS_DLLTest.csproj

@@ -9,9 +9,25 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>UAS_DLLTest</RootNamespace>
     <RootNamespace>UAS_DLLTest</RootNamespace>
     <AssemblyName>UAS_DLLTest</AssemblyName>
     <AssemblyName>UAS_DLLTest</AssemblyName>
-    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <FileAlignment>512</FileAlignment>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <TargetFrameworkProfile />
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <PlatformTarget>AnyCPU</PlatformTarget>
     <PlatformTarget>AnyCPU</PlatformTarget>
@@ -32,7 +48,17 @@
     <ErrorReport>prompt</ErrorReport>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>U_Icon.ico</ApplicationIcon>
+  </PropertyGroup>
   <ItemGroup>
   <ItemGroup>
+    <Reference Include="BenQGuru.eMES.DLLService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=939cffa42430e6d8, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\UAS_MesInterface(4.0)\bin\Debug\BenQGuru.eMES.DLLService.dll</HintPath>
+    </Reference>
+    <Reference Include="Oracle.ManagedDataAccess">
+      <HintPath>..\UAS_MesInterface(4.0)\bin\Debug\Oracle.ManagedDataAccess.dll</HintPath>
+    </Reference>
     <Reference Include="System" />
     <Reference Include="System" />
     <Reference Include="System.Core" />
     <Reference Include="System.Core" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Xml.Linq" />
@@ -41,7 +67,6 @@
     <Reference Include="System.Data" />
     <Reference Include="System.Data" />
     <Reference Include="System.Deployment" />
     <Reference Include="System.Deployment" />
     <Reference Include="System.Drawing" />
     <Reference Include="System.Drawing" />
-    <Reference Include="System.Net.Http" />
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Xml" />
     <Reference Include="System.Xml" />
   </ItemGroup>
   </ItemGroup>
@@ -52,8 +77,26 @@
     <Compile Include="Form1.Designer.cs">
     <Compile Include="Form1.Designer.cs">
       <DependentUpon>Form1.cs</DependentUpon>
       <DependentUpon>Form1.cs</DependentUpon>
     </Compile>
     </Compile>
+    <Compile Include="GroupBoxwithborder.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="GroupBoxwithborder.Designer.cs">
+      <DependentUpon>GroupBoxwithborder.cs</DependentUpon>
+    </Compile>
+    <Compile Include="ParamControl.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="paramControl.Designer.cs">
+      <DependentUpon>ParamControl.cs</DependentUpon>
+    </Compile>
     <Compile Include="Program.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <EmbeddedResource Include="Form1.resx">
+      <DependentUpon>Form1.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="paramControl.resx">
+      <DependentUpon>ParamControl.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Properties\Resources.resx">
     <EmbeddedResource Include="Properties\Resources.resx">
       <Generator>ResXFileCodeGenerator</Generator>
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
@@ -62,6 +105,7 @@
     <Compile Include="Properties\Resources.Designer.cs">
     <Compile Include="Properties\Resources.Designer.cs">
       <AutoGen>True</AutoGen>
       <AutoGen>True</AutoGen>
       <DependentUpon>Resources.resx</DependentUpon>
       <DependentUpon>Resources.resx</DependentUpon>
+      <DesignTime>True</DesignTime>
     </Compile>
     </Compile>
     <None Include="Properties\Settings.settings">
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
       <Generator>SettingsSingleFileGenerator</Generator>
@@ -76,6 +120,26 @@
   <ItemGroup>
   <ItemGroup>
     <None Include="App.config" />
     <None Include="App.config" />
   </ItemGroup>
   </ItemGroup>
+  <ItemGroup>
+    <Content Include="U_Icon.ico" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include=".NETFramework,Version=v4.0">
+      <Visible>False</Visible>
+      <ProductName>Microsoft .NET Framework 4 %28x86 和 x64%29</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.4.5">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 4.5</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
        Other similar extension points exist, see Microsoft.Common.targets.

BIN
UAS_DLLTest/U_Icon.ico


+ 9 - 6
UAS_DLLTest/paramControl.Designer.cs

@@ -35,28 +35,31 @@
             // paramName
             // paramName
             // 
             // 
             this.paramName.AutoSize = true;
             this.paramName.AutoSize = true;
-            this.paramName.Location = new System.Drawing.Point(3, 11);
+            this.paramName.Location = new System.Drawing.Point(2, 4);
+            this.paramName.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.paramName.Name = "paramName";
             this.paramName.Name = "paramName";
-            this.paramName.Size = new System.Drawing.Size(62, 18);
+            this.paramName.Size = new System.Drawing.Size(41, 12);
             this.paramName.TabIndex = 0;
             this.paramName.TabIndex = 0;
             this.paramName.Text = "label1";
             this.paramName.Text = "label1";
             this.paramName.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
             this.paramName.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
             // 
             // 
             // paramValue
             // paramValue
             // 
             // 
-            this.paramValue.Location = new System.Drawing.Point(110, 1);
+            this.paramValue.Location = new System.Drawing.Point(73, 1);
+            this.paramValue.Margin = new System.Windows.Forms.Padding(2);
             this.paramValue.Name = "paramValue";
             this.paramValue.Name = "paramValue";
-            this.paramValue.Size = new System.Drawing.Size(205, 28);
+            this.paramValue.Size = new System.Drawing.Size(138, 21);
             this.paramValue.TabIndex = 1;
             this.paramValue.TabIndex = 1;
             // 
             // 
             // ParamControl
             // ParamControl
             // 
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.Controls.Add(this.paramValue);
             this.Controls.Add(this.paramValue);
             this.Controls.Add(this.paramName);
             this.Controls.Add(this.paramName);
+            this.Margin = new System.Windows.Forms.Padding(2);
             this.Name = "ParamControl";
             this.Name = "ParamControl";
-            this.Size = new System.Drawing.Size(354, 32);
+            this.Size = new System.Drawing.Size(236, 26);
             this.ResumeLayout(false);
             this.ResumeLayout(false);
             this.PerformLayout();
             this.PerformLayout();