From 3cad85b98fff4ef5f45a1dc488c6620aa2f082e2 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期二, 25 二月 2025 11:03:36 +0800
Subject: [PATCH] 销售通知单
---
DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs | 304 +++++++++++++++++++++++++++++++++-----------------
1 files changed, 198 insertions(+), 106 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs b/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs
index a7a52f2..3e9f1f1 100644
--- a/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs
+++ b/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs
@@ -7,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
{
@@ -34,78 +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();
- }
- #region Public Method
- public static void RegisterControl(DevExpress.XtraEditors.XtraForm frm, Control control, Control box1, Label lbMsg)
- {
- InitializeComponent(frm);
- if (control != null)
- {
- sbMsg = lbMsg;
- dragBox1 = box1;
- dragCurrent_Name = box1.Name;
- control.MouseDown += new MouseEventHandler(control_MouseDown);
- control.MouseLeave += new EventHandler(control_MouseLeave);
- control.MouseMove += new MouseEventHandler(control_MouseMove);
- control.Resize += myPanel_Resize;
- }
- }
+ dockManager1.EndUpdate();
- public static void UnRegisterControl(Control control)
+ 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;
+ }
+ }
+ };
+ }
+ public void Show()
+ {
+ foreach (Control control in dragBox1.Controls)
+ {
+ if (control != null)
+ {
+ 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();
+ }
+ public void Hide(Control control)
{
if (control != null)
{
@@ -113,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;
@@ -124,8 +196,7 @@
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)
@@ -137,16 +208,16 @@
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);
@@ -170,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; //'璁板綍鍏夋爣鎷栧姩鐨勫綋鍓嶇偣
@@ -249,37 +320,19 @@
default:
break;
}
- }
-
- 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;
- }
+ control.Refresh();
+ Graphics g = control.CreateGraphics();
+ 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) };
+ g.DrawLines(new Pen(Color.LightCoral), ps);
}
- 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))
{
@@ -346,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;
@@ -378,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