From 2ba8bd4b8e381e173e10d69396a744708b2f32e5 Mon Sep 17 00:00:00 2001
From: lg <999544862qq.com>
Date: 星期五, 30 八月 2024 11:05:55 +0800
Subject: [PATCH] 用户管理

---
 DevApp/Gs.DevApp/DevFrm/FrmMain.cs |   65 ++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 20 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
index c78fca3..56d4fd0 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
@@ -19,8 +19,14 @@
         public FrmMain()
         {
             InitializeComponent();
-            this.Text = this.Text = System.Configuration.ConfigurationSettings.AppSettings.Get("ProductName").ToString();
+            this.Text = System.Configuration.ConfigurationSettings.AppSettings.Get("ProductName").ToString();
+            tab.CloseButtonClick += Tab_CloseButtonClick;
             getTree();
+        }
+
+        private void Tab_CloseButtonClick(object sender, EventArgs e)
+        {
+            RemoveTabPage(tab,e);
         }
 
         private void getTree()
@@ -48,6 +54,7 @@
                 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
                 DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
                 DataRow[] drGrp = dt.Select("upGuid is null");
+                int idx = 0;
                 foreach (DataRow _dy in drGrp)
                 {
                     AccordionControlElement _grp = this.acrd.AddGroup();
@@ -55,7 +62,7 @@
                     _grp.Name = _dy["guid"].ToString();
                     _grp.Style = DevExpress.XtraBars.Navigation.ElementStyle.Group;
                     _grp.Text = _dy["name"].ToString();
-                    _grp.Tag = _dy["formPath"].ToString();
+                    _grp.Tag = _dy["formPath"].ToString();//瀛樿矾寰勶紝绫诲悕
                     _grp.Click += _grp_Click;
                     DataRow[] drItem = dt.Select("upGuid='" + _dy["guid"].ToString() + "'");
                     foreach (DataRow _dy2 in drItem)
@@ -66,9 +73,19 @@
                         _itm.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
                         _itm.Text = _dy2["name"].ToString();
                         _itm.Appearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
-                        _itm.Tag = _dy2["formPath"].ToString();
+                        _itm.Tag = _dy2["formPath"].ToString();//瀛樿矾寰勶紝绫诲悕
                         _itm.Click += _grp_Click;
                         _grp.Elements.Add(_itm);
+                        //
+                        if (idx == 0) {
+                            string tabPageName = _itm.Name + "_page";
+                            string tabText = _itm.Text;//褰撳墠閫夐」鍗¢〉Text鏍囬
+                            string newFormName = _itm.Tag.ToString();//瀛樿矾寰勶紝绫诲悕
+                            Image imgIcon = _itm.Image;
+                            AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon);
+                        }
+                        idx++;
+                        //
                     };
                 }
             }
@@ -83,8 +100,8 @@
             AccordionControlElement _acd = (AccordionControlElement)sender;
             if (_acd.Elements.Count > 0) return;
             string tabPageName = _acd.Name + "_page";
-            string tabText = _acd.Text;
-            string newFormName = _acd.Tag.ToString();
+            string tabText = _acd.Text;//褰撳墠閫夐」鍗¢〉Text鏍囬
+            string newFormName = _acd.Tag.ToString();//瀛樿矾寰勶紝绫诲悕
             Image imgIcon = _acd.Image;
             AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon);
         }
@@ -95,7 +112,7 @@
         /// <param name="tabControl">閫夐」鍗℃帶浠�</param>
         /// <param name="tabPageName">褰撴湡閫夐」鍗¢〉name鍚嶇О</param>
         /// <param name="tabText">褰撳墠閫夐」鍗¢〉Text鏍囬</param>
-        /// <param name="newFormName">褰撳墠閫夐」鍗′腑鐨勬柊绐椾綋</param>
+        /// <param name="newFormName">褰撳墠閫夐」鍗′腑鐨勬柊绐椾綋璺緞锛岀被鍚�</param>
         public void AddTabpage(XtraTabControl tabControl, string tabPageName, string tabText, string newFormName, Image imgIcon)
         {
             if (IsTabpageExsit(tabControl, tabPageName))
@@ -105,11 +122,13 @@
             XtraTabPage newPage = new XtraTabPage();
             newPage.Name = tabPageName;
             newPage.Text = tabText;
-            newPage.Tooltip = (tabText);
+            newPage.Tooltip = newPage.Name;
+            newPage.Appearance.Header.Font = (tab.Appearance.Font);
             newPage.ImageOptions.Image = imgIcon;
-            if (AddNewForm(newFormName) != null)
+            Form fm = AddNewForm(newFormName);
+            if (fm != null)
             {
-                newPage.Controls.Add(AddNewForm(newFormName));
+                newPage.Controls.Add(fm);
                 tabControl.TabPages.Add(newPage);
                 TabPageDic.Add(tabPageName, newPage);
                 tabControl.SelectedTabPage = newPage;
@@ -126,12 +145,10 @@
         {
             DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs args = (DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs)e;
             string name = args.Page.Tooltip;
-            MessageBox.Show(name);
             foreach (XtraTabPage item in tabControl.TabPages)
             {
                 if (item.Name == name)
                 {
-                    MessageBox.Show(item.Name);
                     tabControl.TabPages.Remove(item);
                     item.Dispose();
                     TabPageDic.Remove(name);
@@ -165,18 +182,26 @@
         /// <param name="form">绐椾綋鍚嶇О</param>
         private Form AddNewForm(string formName)
         {
-            Form newForm = (Form)Assembly.GetExecutingAssembly().CreateInstance(formName);
-            if (newForm == null)
+            try
+            {
+                Form newForm = (Form)Assembly.GetExecutingAssembly().CreateInstance(formName);
+                if (newForm == null)
+                {
+                    Gs.DevApp.ToolBox.MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒");
+                    return null;
+                }
+                newForm.FormBorderStyle = FormBorderStyle.None;
+                newForm.TopLevel = false;
+                newForm.ControlBox = false;
+                newForm.Dock = DockStyle.Fill;
+                newForm.Visible = true;
+                return newForm;
+            }
+            catch (Exception)
             {
                 Gs.DevApp.ToolBox.MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒");
-                return null;
             }
-            newForm.FormBorderStyle = FormBorderStyle.None;
-            newForm.TopLevel = false;
-            newForm.ControlBox = false;
-            newForm.Dock = DockStyle.Fill;
-            newForm.Visible = true;
-            return newForm;
+            return null;
         }
     }
 }

--
Gitblit v1.9.3