From 93c179fb93c47ccd6365b31d291f61739f35fd2c Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期四, 20 三月 2025 10:49:28 +0800 Subject: [PATCH] 销售 --- DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs | 109 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 80 insertions(+), 29 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs b/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs index 3e9f1f1..a2f3b9b 100644 --- a/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs +++ b/DevApp/Gs.DevApp/ToolBox/DragResizeHelp.cs @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing DevExpress.XtraBars.Docking; +using System; using System.Drawing; using System.Windows.Forms; @@ -13,14 +14,14 @@ 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 string dragBoxCurrentName = "";//褰撳墠瀹瑰櫒鐨勫悕绉� + private Control ctrlCurrentObj;//褰撳墠鎷栨嫋鍔ㄧ殑瀵瑰儚 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; + //private ToolTip toolTip; #endregion #region Inner Object private enum EnumMousePointPosition @@ -37,11 +38,11 @@ MouseDrag = 9 // '榧犳爣鎷栧姩 } #endregion - public DragResizeHelp(DevExpress.XtraEditors.XtraForm frm, Control regBox, DevExpress.XtraEditors.LabelControl regMsg) + public DragResizeHelp(DevExpress.XtraEditors.XtraForm frm, Control regBox) { + // toolTip = new ToolTip(); 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(); @@ -81,7 +82,7 @@ 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"; + this.dockPanel1.Text = "缁勪欢绠�"; dockPanel1.Options.AllowDockBottom = false; dockPanel1.Options.AllowDockFill = false; dockPanel1.Options.AllowDockLeft = false; @@ -103,7 +104,7 @@ 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); @@ -117,7 +118,6 @@ { if (control != null) { - control.MouseDown -= new MouseEventHandler(control_MouseDown); control.MouseLeave -= new EventHandler(control_MouseLeave); control.MouseMove -= new MouseEventHandler(control_MouseMove); @@ -129,19 +129,25 @@ } public void Show() { + if (dockPanel1.Visibility == DockVisibility.Visible) + return; foreach (Control control in dragBox1.Controls) { if (control != null) { - dragCurrent_Name = dragBox1.Name; + dragBoxCurrentName = 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; + control.ContextMenuStrip = new ContextMenuStrip(); + } } dockPanel1.Show(); + isDragging = true; + } public void Hide(Control control) { @@ -150,16 +156,20 @@ 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.Hide(); + isDragging = false; } #region Public Method private void Control_MouseUp(object sender, MouseEventArgs e) { Control lCtrl = (sender as Control); + ctrlCurrentObj = lCtrl; (sender as Control).Refresh(); - dragCurrent_Name = (sender as Control).Parent.Name; - if (dragBox1.Name == dragCurrent_Name) + dragBoxCurrentName = (sender as Control).Parent.Name; + if (dragBox1.Name == dragBoxCurrentName) { if (IsOutsideBounds(lCtrl, dragBox1)) { @@ -168,11 +178,11 @@ lCtrl.Left = 0; lCtrl.Top = 10; // isDragging = false; - dragCurrent_Name = dockPanel1_Container.Name; + dragBoxCurrentName = dockPanel1_Container.Name; } - reloadLoaction(null); + // reloadLoaction(null); } - else if (dockPanel1_Container.Name == dragCurrent_Name) + else if (dockPanel1_Container.Name == dragBoxCurrentName) { if (IsOutsideBounds(lCtrl, dockPanel1_Container)) { @@ -181,7 +191,7 @@ lCtrl.Left = 0; lCtrl.Top = 10; // isDragging = false; - dragCurrent_Name = dragBox1.Name; + dragBoxCurrentName = dragBox1.Name; } reloadLoaction(lCtrl); } @@ -194,7 +204,34 @@ p1.X = e.X; p1.Y = e.Y; isDragging = true; - dragCurrent_Name = (sender as Control).Parent.Name; + dragBoxCurrentName = (sender as Control).Parent.Name; + ctrlCurrentObj = (sender as Control); + + if (e.Button == MouseButtons.Right) + { + Control control = (sender as Control); + var menu = control.ContextMenuStrip; + menu.Items.Clear(); + SetDrag frm = new SetDrag(); + menu.Items.Add($"璁剧疆鍧愭爣", null, (ss, ee) => + { + frm.ShowDialog(); + }); + menu.Items.Add($"璁剧疆澶у皬", null, (ss, ee) => + { + frm.ShowDialog(); + }); + menu.Items.Add($"楂樼骇璁剧疆", null, (ss, ee) => + { + frm.ShowDialog(); + }); + menu.Items.Add($"涓�閿噸鎺�", null, (ss, ee) => + { + reloadLoaction((sender as Control).Parent); + }); + menu.Show(control, e.Location); + } + } private void myPanel_Resize(object sender, EventArgs e) { @@ -216,11 +253,13 @@ m_MousePointPosition = EnumMousePointPosition.MouseSizeNone; Control control = sender as Control; control.Cursor = Cursors.Arrow; + ctrlCurrentObj = control; } private void control_MouseMove(object sender, MouseEventArgs e) { if (!isDragging) { return; } Control lCtrl = (sender as Control); + ctrlCurrentObj = lCtrl; if (e.Button == MouseButtons.Left) { switch (m_MousePointPosition) @@ -327,10 +366,12 @@ 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); + g.DrawLines(new Pen(Color.Pink), ps); } // reloadLoaction(); reloadMsg(lCtrl); + + } private EnumMousePointPosition MousePointPosition(Size size, System.Windows.Forms.MouseEventArgs e) { @@ -435,7 +476,8 @@ private void reloadLoaction(Control cocccc) { int _top = 0; - if (dockPanel1_Container.Name == dragCurrent_Name) + //濡傛灉鏄帶浠剁锛屼笉绉籐eft + if (dockPanel1_Container.Name == dragBoxCurrentName) { foreach (Control col in dockPanel1_Container.Controls) { @@ -446,19 +488,22 @@ return; } if (cocccc == null) return; - int x = 15; - int y = 15; + //杩欐槸瀹瑰櫒 + int x = 2; + int y = 2; foreach (Control btn in dragBox1.Controls) { if (cocccc.Name == btn.Name) continue; - //btn.Left = x; - //btn.Top = y; - x += btn.Width + 15; + if (cocccc.Visible ==false) + continue; + btn.Left = x; + btn.Top = y; + x += btn.Width + 2; if (btn.Width > dragBox1.Width - x) { - x = 15; - y += btn.Height + 15; + x = 2; + y += btn.Height +2; } } cocccc.Left = x; @@ -466,9 +511,15 @@ return; } - private void reloadMsg(Control cocccc) { - - sbMsg.Text = "鍧愭爣:" + cocccc.Location.ToString() + ",澶у皬锛�" + cocccc.Size.ToString(); + private void reloadMsg(Control cocccc) + { + System.Text.StringBuilder sb = new System.Text.StringBuilder(); + if (ctrlCurrentObj != null) + sb.Append(ctrlCurrentObj.Name + "鍦�"); + sb.Append(string.IsNullOrEmpty(dragBoxCurrentName) ? "琛ㄥ崟涓�" : "缁勪欢绠变腑"); + sb.Append("锛屽潗鏍�:" + cocccc.Location.ToString()); + sb.Append(",澶у皬锛�" + cocccc.Size.ToString()); + // toolTip.SetToolTip(ctrlCurrentObj, sb.ToString()); } } } \ No newline at end of file -- Gitblit v1.9.3