From 4832a219c8236646ec483790a781a021862b3c50 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期二, 25 二月 2025 10:53:02 +0800
Subject: [PATCH] 销售通知申请

---
 DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs |  295 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 181 insertions(+), 114 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs b/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs
index 0206e17..3e9f1f1 100644
--- a/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs
+++ b/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs
@@ -1,5 +1,4 @@
-锘縰sing DevExpress.XtraCharts;
-using System;
+锘縰sing System;
 using System.Drawing;
 using System.Windows.Forms;
 
@@ -8,18 +7,21 @@
     public class DragResizeHelp
     {
         #region Field
-        private static bool isDragging = false;
+        private bool isDragging = false;
         private const int Band = 5;
-        private const int MinWidth = 10;
-        private const int MinHeight = 10;
-        private static EnumMousePointPosition m_MousePointPosition;
-        private static Point p, p1;
-        private static Label sbMsg;
-        private static Control dragBox1;
-        private static string dragCurrent_Name = "";
-        private static DevExpress.XtraBars.Docking.ControlContainer dockPanel1_Container;
-        #endregion
+        private const int MinWidth = 50;
+        private const int MinHeight = 30;
+        private EnumMousePointPosition m_MousePointPosition;
+        private Point p, p1;
+        private DevExpress.XtraEditors.LabelControl sbMsg;
+        private Control dragBox1;//瀹瑰櫒1
+        private string dragCurrent_Name = "";//褰撳墠瀹瑰櫒鐨勫悕绉�
 
+        private DevExpress.XtraBars.Docking.DockManager dockManager1;
+        private DevExpress.XtraBars.Docking.DockPanel dockPanel1;
+        private DevExpress.XtraBars.Docking.ControlContainer dockPanel1_Container;
+        private System.ComponentModel.IContainer components = null;
+        #endregion
         #region Inner Object
         private enum EnumMousePointPosition
         {
@@ -35,88 +37,113 @@
             MouseDrag = 9   // '榧犳爣鎷栧姩
         }
         #endregion
-
-        #region Constructor
-        public DragResizeHelp()
+        public DragResizeHelp(DevExpress.XtraEditors.XtraForm frm, Control regBox, DevExpress.XtraEditors.LabelControl regMsg)
         {
-            // Nothing to do.
-        }
-        #endregion
-        private static void InitializeComponent(DevExpress.XtraEditors.XtraForm frm)
-        {
-            DevExpress.XtraBars.Docking.DockManager dockManager1;
-            DevExpress.XtraBars.Docking.DockPanel dragBox2_Container;
-            dockManager1 = new DevExpress.XtraBars.Docking.DockManager();
-            dragBox2_Container = new DevExpress.XtraBars.Docking.DockPanel();
-            dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer();
-            ((System.ComponentModel.ISupportInitialize)(dockManager1)).BeginInit();
+            this.components = new System.ComponentModel.Container();
+            dragBox1 = regBox;
+            sbMsg = regMsg;
+            this.components = new System.ComponentModel.Container();
+            this.dockManager1 = new DevExpress.XtraBars.Docking.DockManager(this.components);
+            dockManager1.BeginUpdate();
+            this.dockPanel1 = new DevExpress.XtraBars.Docking.DockPanel();
+            this.dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer();
+            ((System.ComponentModel.ISupportInitialize)(this.dockManager1)).BeginInit();
+            this.dockPanel1.SuspendLayout();
+            frm.SuspendLayout();
             // 
             // dockManager1
             // 
-            dockManager1.Form = frm;
-            dockManager1.RootPanels.AddRange(new DevExpress.XtraBars.Docking.DockPanel[] {
-            dragBox2_Container});
+            this.dockManager1.Form = frm;
+            this.dockManager1.RootPanels.AddRange(new DevExpress.XtraBars.Docking.DockPanel[] {
+            this.dockPanel1});
+            this.dockManager1.TopZIndexControls.AddRange(new string[] {
+            "DevExpress.XtraBars.BarDockControl",
+            "DevExpress.XtraBars.StandaloneBarDockControl",
+            "System.Windows.Forms.MenuStrip",
+            "System.Windows.Forms.StatusStrip",
+            "System.Windows.Forms.StatusBar",
+            "DevExpress.XtraBars.Ribbon.RibbonStatusBar",
+            "DevExpress.XtraBars.Ribbon.RibbonControl",
+            "DevExpress.XtraBars.Navigation.OfficeNavigationBar",
+            "DevExpress.XtraBars.Navigation.TileNavPane",
+            "DevExpress.XtraBars.TabFormControl",
+            "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl",
+            "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"});
             // 
             // dockPanel1
             // 
-            dragBox2_Container.Controls.Add(dockPanel1_Container);
-            dragBox2_Container.Dock = DevExpress.XtraBars.Docking.DockingStyle.Float;
-            dragBox2_Container.FloatLocation = new System.Drawing.Point(691, 455);
-            dragBox2_Container.ID = new System.Guid("319a7cf1-f26d-4049-8a96-8f9fbbd13cd2");
-            dragBox2_Container.Location = new System.Drawing.Point(0, 0);
-            dragBox2_Container.Name = "dockPanel1";
-            dragBox2_Container.OriginalSize = new System.Drawing.Size(200, 200);
-            dragBox2_Container.Size = new System.Drawing.Size(200, 200);
-            dragBox2_Container.Text = "dockPanel1";
-            dragBox2_Container.Options.AllowDockBottom = false;
-            dragBox2_Container.Options.AllowDockFill = false;
-            dragBox2_Container.Options.AllowDockLeft = false;
-            dragBox2_Container.Options.AllowDockRight = false;
-            dragBox2_Container.Options.AllowDockTop = false;
-            dragBox2_Container.Options.ShowMaximizeButton = false;
-            dragBox2_Container.Options.ShowMaximizeButton = false;
+            this.dockPanel1.Controls.Add(this.dockPanel1_Container);
+            this.dockPanel1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Float;
+            this.dockPanel1.FloatLocation = new System.Drawing.Point(1617, 547);
+            this.dockPanel1.FloatSize = new System.Drawing.Size(306, 459);
+            this.dockPanel1.ID = new System.Guid("7148938b-5fd8-4833-9a9f-445a728a11cf");
+            this.dockPanel1.Location = new System.Drawing.Point(0, 0);
+            this.dockPanel1.Name = "dockPanel1";
+            this.dockPanel1.OriginalSize = new System.Drawing.Size(200, 200);
+            this.dockPanel1.Size = new System.Drawing.Size(306, 459);
+            this.dockPanel1.Text = "dockPanel1";
+            dockPanel1.Options.AllowDockBottom = false;
+            dockPanel1.Options.AllowDockFill = false;
+            dockPanel1.Options.AllowDockLeft = false;
+            dockPanel1.Options.AllowDockRight = false;
+            dockPanel1.Options.AllowDockTop = false;
+            dockPanel1.Options.ShowMaximizeButton = false;
+            dockPanel1.Options.ShowMaximizeButton = false;
             // 
             // dockPanel1_Container
             // 
-            dockPanel1_Container.Location = new System.Drawing.Point(5, 32);
-            dockPanel1_Container.Name = "dockPanel1_Container";
-            dockPanel1_Container.Size = new System.Drawing.Size(190, 164);
-            dockPanel1_Container.TabIndex = 0;
+            this.dockPanel1_Container.Location = new System.Drawing.Point(5, 32);
+            this.dockPanel1_Container.Name = "dockPanel1_Container";
+            this.dockPanel1_Container.Size = new System.Drawing.Size(296, 423);
+            this.dockPanel1_Container.TabIndex = 0;
+            this.dockPanel1_Container.BorderStyle = System.Windows.Forms.BorderStyle.None;
             // 
-            // XtraForm3
+            // XtraForm1
             // 
-            ((System.ComponentModel.ISupportInitialize)(dockManager1)).EndInit();
-            dragBox2_Container.ResumeLayout(false);
+            frm.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
+            frm.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            frm.ClientSize = new System.Drawing.Size(1057, 660);
+           
+            ((System.ComponentModel.ISupportInitialize)(this.dockManager1)).EndInit();
+            this.dockPanel1.ResumeLayout(false);
             frm.ResumeLayout(false);
-            dragBox2_Container.Show();
+            dockManager1.EndUpdate();
+
+            this.dockPanel1.Hide();
+
+            dockPanel1.ClosedPanel += (s, e) =>
+            {
+                foreach (Control control in dragBox1.Controls)
+                {
+                    if (control != null)
+                    {
+
+                        control.MouseDown -= new MouseEventHandler(control_MouseDown);
+                        control.MouseLeave -= new EventHandler(control_MouseLeave);
+                        control.MouseMove -= new MouseEventHandler(control_MouseMove);
+                        control.MouseUp -= Control_MouseUp;
+                        control.Resize -= myPanel_Resize;
+                    }
+                }
+            };
         }
-        #region Public Method
-        public static void RegisterControl(DevExpress.XtraEditors.XtraForm frm, Control box1, Label lbMsg)
+        public void Show()
         {
-            InitializeComponent(frm);
-            foreach (Control control in box1.Controls)
+            foreach (Control control in dragBox1.Controls)
             {
                 if (control != null)
                 {
-                    sbMsg = lbMsg;
-                    dragBox1 = box1;
-                    dragCurrent_Name = box1.Name;
+                    dragCurrent_Name = dragBox1.Name;
                     control.MouseDown += new MouseEventHandler(control_MouseDown);
                     control.MouseLeave += new EventHandler(control_MouseLeave);
                     control.MouseMove += new MouseEventHandler(control_MouseMove);
                     control.MouseUp += Control_MouseUp;
-                   
                     control.Resize += myPanel_Resize;
                 }
             }
+            dockPanel1.Show();
         }
-
-        private static void Control_MouseUp(object sender, MouseEventArgs e)
-        {
-            (sender as Control).Refresh();
-        }
-
-        public static void UnRegisterControl(Control control)
+        public void Hide(Control control)
         {
             if (control != null)
             {
@@ -124,9 +151,43 @@
                 control.MouseLeave -= new EventHandler(control_MouseLeave);
                 control.MouseMove -= new MouseEventHandler(control_MouseMove);
             }
+            dockPanel1.Hide();
         }
-        #endregion
-        private static void control_MouseDown(object sender, MouseEventArgs e)
+        #region Public Method
+        private void Control_MouseUp(object sender, MouseEventArgs e)
+        {
+            Control lCtrl = (sender as Control);
+            (sender as Control).Refresh();
+            dragCurrent_Name = (sender as Control).Parent.Name;
+            if (dragBox1.Name == dragCurrent_Name)
+            {
+                if (IsOutsideBounds(lCtrl, dragBox1))
+                {
+                    dragBox1.Controls.Remove(lCtrl);
+                    dockPanel1_Container.Controls.Add(lCtrl);
+                    lCtrl.Left = 0;
+                    lCtrl.Top = 10;
+                    //   isDragging = false;
+                    dragCurrent_Name = dockPanel1_Container.Name;
+                }
+                reloadLoaction(null);
+            }
+            else if (dockPanel1_Container.Name == dragCurrent_Name)
+            {
+                if (IsOutsideBounds(lCtrl, dockPanel1_Container))
+                {
+                    dockPanel1_Container.Controls.Remove(lCtrl);
+                    dragBox1.Controls.Add(lCtrl);
+                    lCtrl.Left = 0;
+                    lCtrl.Top = 10;
+                    // isDragging = false;
+                    dragCurrent_Name = dragBox1.Name;
+                }
+                reloadLoaction(lCtrl);
+            }
+
+        }
+        private void control_MouseDown(object sender, MouseEventArgs e)
         {
             p.X = e.X;
             p.Y = e.Y;
@@ -134,11 +195,8 @@
             p1.Y = e.Y;
             isDragging = true;
             dragCurrent_Name = (sender as Control).Parent.Name;
-
-          
         }
-
-        private static void myPanel_Resize(object sender, EventArgs e)
+        private void myPanel_Resize(object sender, EventArgs e)
         {
             Control panel = sender as Control;
             if (panel != null && panel.Controls.Count > 0)
@@ -149,19 +207,17 @@
                     childControl.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
                     int newY = (panel.ClientSize.Height - childControl.Height) / 2;
                     childControl.Location = new Point(childControl.Location.X, newY);
-
-
                 }
-
             }
+            reloadMsg(panel);
         }
-        private static void control_MouseLeave(object sender, EventArgs e)
+        private void control_MouseLeave(object sender, EventArgs e)
         {
             m_MousePointPosition = EnumMousePointPosition.MouseSizeNone;
             Control control = sender as Control;
             control.Cursor = Cursors.Arrow;
         }
-        private static void control_MouseMove(object sender, MouseEventArgs e)
+        private void control_MouseMove(object sender, MouseEventArgs e)
         {
             if (!isDragging) { return; }
             Control lCtrl = (sender as Control);
@@ -185,7 +241,7 @@
                         p1.Y = e.Y; //'璁板綍鍏夋爣鎷栧姩鐨勫綋鍓嶇偣
                         break;
                     case EnumMousePointPosition.MouseSizeRight:
-                        lCtrl.Width = lCtrl.Width + e.X - p1.X;        //
+                        lCtrl.Width = lCtrl.Width + e.X - p1.X;
                         lCtrl.Height = lCtrl.Height + e.Y - p1.Y;
                         p1.X = e.X;
                         p1.Y = e.Y; //'璁板綍鍏夋爣鎷栧姩鐨勫綋鍓嶇偣
@@ -270,41 +326,13 @@
                 int width = control.Width;
                 int height = control.Height;
                 Point[] ps =  { new Point(0, 0),new Point(width - 1, 0),
-    new Point(width - 1, height - 1),new Point(0, height - 1),new Point(0, 0) };
+                new Point(width - 1, height - 1),new Point(0, height - 1),new Point(0, 0) };
                 g.DrawLines(new Pen(Color.LightCoral), ps);
-
-
             }
-
-
-            if (dragBox1.Name == dragCurrent_Name)
-            {
-                if (IsOutsideBounds(lCtrl, dragBox1))
-                {
-                    dragBox1.Controls.Remove(lCtrl);
-                    dockPanel1_Container.Controls.Add(lCtrl);
-                    lCtrl.Left = 0;
-                    lCtrl.Top = 10;
-                    isDragging = false;
-                    dragCurrent_Name = dockPanel1_Container.Name;
-                }
-            }
-            else if (dockPanel1_Container.Name == dragCurrent_Name)
-            {
-                if (IsOutsideBounds(lCtrl, dockPanel1_Container))
-                {
-                    dockPanel1_Container.Controls.Remove(lCtrl);
-                    dragBox1.Controls.Add(lCtrl);
-                    lCtrl.Left = 0;
-                    lCtrl.Top = 10;
-                    isDragging = false;
-                    dragCurrent_Name = dragBox1.Name;
-                }
-            }
-            sbMsg.Text = lCtrl.Location.ToString() + "瀹瑰櫒锛�" + dragCurrent_Name;
-
+            //  reloadLoaction();
+            reloadMsg(lCtrl);
         }
-        private static EnumMousePointPosition MousePointPosition(Size size, System.Windows.Forms.MouseEventArgs e)
+        private EnumMousePointPosition MousePointPosition(Size size, System.Windows.Forms.MouseEventArgs e)
         {
             if ((e.X >= -1 * Band) | (e.X <= size.Width) | (e.Y >= -1 * Band) | (e.Y <= size.Height))
             {
@@ -371,8 +399,7 @@
                 return EnumMousePointPosition.MouseSizeNone;
             }
         }
-
-        public static bool IsOutsideBounds(Control childControl, Control parentControl)
+        public bool IsOutsideBounds(Control childControl, Control parentControl)
         {
             if (parentControl == null) return true;
             if (parentControl == null) return true;
@@ -403,5 +430,45 @@
             // 濡傛灉瀛愭帶浠剁殑鎵�鏈夎竟鐣岄兘鍦ㄧ埗鎺т欢鐨勮竟鐣屽唴锛屽垯杩斿洖false
             return false;
         }
+        #endregion
+
+        private void reloadLoaction(Control cocccc)
+        {
+            int _top = 0;
+            if (dockPanel1_Container.Name == dragCurrent_Name)
+            {
+                foreach (Control col in dockPanel1_Container.Controls)
+                {
+                    col.Left = 0;
+                    col.Top = _top;
+                    _top += (col.Height + 2);
+                }
+                return;
+            }
+            if (cocccc == null) return;
+            int x = 15;
+            int y = 15;
+            foreach (Control btn in dragBox1.Controls)
+            {
+                if (cocccc.Name == btn.Name)
+                    continue;
+                //btn.Left = x;
+                //btn.Top = y;
+                x += btn.Width + 15;
+                if (btn.Width > dragBox1.Width - x)
+                {
+                    x = 15;
+                    y += btn.Height + 15;
+                }
+            }
+            cocccc.Left = x;
+            cocccc.Top = y;
+            return;
+        }
+
+        private void reloadMsg(Control cocccc) {
+
+            sbMsg.Text = "鍧愭爣:" + cocccc.Location.ToString() + ",澶у皬锛�" + cocccc.Size.ToString();
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3