From 4fff01dd8941f97005cfffbcbfdd83e60b1c543d Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期三, 04 十二月 2024 15:06:44 +0800
Subject: [PATCH] 下拉组织

---
 DevApp/Gs.DevApp/DevFrm/FrmMain.cs |   51 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 44 insertions(+), 7 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
index 96811fd..c00981d 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
@@ -5,7 +5,6 @@
 using System.Data;
 using System.Drawing;
 using System.Reflection;
-using System.Threading.Tasks;
 using System.Windows.Forms;
 using DevExpress.XtraBars;
 using DevExpress.XtraBars.FluentDesignSystem;
@@ -19,6 +18,7 @@
 using Gs.DevApp.UserControl;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
+using static DevExpress.XtraReports.Design.XtraTabControl;
 
 namespace Gs.DevApp.DevFrm
 {
@@ -38,6 +38,44 @@
             FormClosing += FrmMain_FormClosing;
             barEasy.ItemClick += BarEasy_ItemClick;
             getTree();
+            tab.MouseDown += Tab_MouseDown;
+            tabCloseCurrent.Click += (s, e) =>
+            {
+                string name = tab.SelectedTabPage.Tooltip;
+                RemoveTabPage(tab, name);
+            };
+            tabCloseAll.Click += (s, e) =>
+            {
+                string _name = tab.SelectedTabPage.Tooltip;
+                int _tabCount = tab.TabPages.Count;
+                for (int i = _tabCount; i >= 0; i--)
+                {
+                    try
+                    {
+                        string name = tab.TabPages[i].Tooltip;
+                        if (name != _name)
+                        {
+                            RemoveTabPage(tab, name);
+                        }
+                    }
+                    catch (Exception)
+                    {
+                    }
+                }
+            };
+        }
+
+        private void Tab_MouseDown(object sender, MouseEventArgs e)
+        {
+            if (e.Button == MouseButtons.Right)
+            {
+                tab.ContextMenuStrip = null;
+                //TreeListHitInfo hInfo = treeList1.CalcHitInfo(new Point(e.X, e.Y));
+                //TreeListNode node = hInfo.Node;
+                //treeList1.FocusedNode = node;
+                tab.ContextMenuStrip = contextMenuStrip1;
+
+            }
         }
 
         private void BarEasy_ItemClick(object sender, ItemClickEventArgs e)
@@ -189,7 +227,7 @@
                 _loading.Stop();
                 MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
             }
-         
+
         }
 
         /// <summary>
@@ -215,7 +253,9 @@
         /// <param name="e"></param>
         private void Tab_CloseButtonClick(object sender, EventArgs e)
         {
-            RemoveTabPage(tab, e);
+            var args = (ClosePageButtonEventArgs)e;
+            var name = args.Page.Tooltip;
+            RemoveTabPage(tab, name);
         }
 
         /// <summary>
@@ -251,16 +291,13 @@
         /// <param name="tabControl"></param>
         /// <param name="tabPageName"></param>
         /// <param name="e"></param>
-        public void RemoveTabPage(XtraTabControl tabControl, EventArgs e)
+        public void RemoveTabPage(XtraTabControl tabControl, string name)
         {
             if (TabPageDic.Count <= 1)
             {
                 MsgHelper.Warning("璇疯嚦灏戜繚鐣欎竴涓姛鑳斤紒");
                 return;
             }
-
-            var args = (ClosePageButtonEventArgs)e;
-            var name = args.Page.Tooltip;
             foreach (XtraTabPage item in tabControl.TabPages)
                 if (item.Name == name)
                 {

--
Gitblit v1.9.3