From 2d303dd904c63df9eeba3ce3e3bb148e40ac651d Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期二, 11 二月 2025 16:23:14 +0800
Subject: [PATCH] 优化个人中心界面

---
 Desktop/PBS.Desktop.Core/MainForm.cs |  125 ++++++++++++++++++++++-------------------
 1 files changed, 67 insertions(+), 58 deletions(-)

diff --git a/Desktop/PBS.Desktop.Core/MainForm.cs b/Desktop/PBS.Desktop.Core/MainForm.cs
index cc0eac7..fab8ab7 100644
--- a/Desktop/PBS.Desktop.Core/MainForm.cs
+++ b/Desktop/PBS.Desktop.Core/MainForm.cs
@@ -1,14 +1,11 @@
 using DevExpress.Utils.Svg;
 using DevExpress.XtraBars.Docking;
+using DevExpress.XtraBars.Docking2010.Views;
 using DevExpress.XtraBars.Navigation;
 using DevExpress.XtraBars.Ribbon;
 using DevExpress.XtraEditors;
-using DevExpress.XtraTab;
-using DevExpress.XtraTab.ViewInfo;
-using HStation.WinFrmUI;
-using HStation.WinFrmUI.Assets;
 using HStation.WinFrmUI.Xhs.PumpProduct;
-using PBS.WinFrmUI.WE;
+using PBS.Desktop;
 using System.Drawing.Drawing2D;
 using System.IO;
 using Yw.WinFrmUI;
@@ -30,15 +27,22 @@
 
             this.accordionControlFunction.Appearance.AccordionControl.BackColor = Color.White;
             this.accordionControlFunction.Appearance.AccordionControl.BorderColor = Color.White;
+            //this.accordionControlFunction.ResizeMode = AccordionControlResizeMode.None;
             this.accordionControlFunction.AllowHtmlText = true;
             this.accordionControlFunction.HtmlTemplates.HamburgerHeaderPanel.Template = @"<div class='hamburger-header-background'></div>";
             this.accordionControlFunction.HtmlTemplates.HamburgerHeaderPanel.Styles = @".hamburger-header-background {background-color: #ffffff; height: 100%;width: 100%;}";
 
-            this.xtraTabContrl.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True;
-        }
+            this.tabbedView1.Style = DockingViewStyle.Classic;
+            this.tabbedView1.Appearance.BackColor = Color.White;
+            //this.tabbedView1.AppearancePage.Header.BackColor = Color.White;
+            this.tabbedView1.AppearancePage.HeaderSelected.Font = new Font("微软雅黑", 10f, FontStyle.Bold);
 
-        private HatchBrush myHatchBrush1 = new HatchBrush(HatchStyle.BackwardDiagonal, Color.LightGray, Color.AliceBlue);
+           // this.tabbedView1.CustomDrawTabHeader += TabbedView1_CustomDrawTabHeader;
 
+
+        } 
+
+        HatchBrush myHatchBrush1 = new HatchBrush(HatchStyle.BackwardDiagonal, Color.LightGray, Color.AliceBlue);
         private void TabbedView1_CustomDrawTabHeader(object sender, DevExpress.XtraTab.TabHeaderCustomDrawEventArgs e)
         {
             e.Cache.FillRectangle(myHatchBrush1, e.Bounds);
@@ -115,9 +119,9 @@
             if (btn.Tag is not string tag)
                 return;
             PageGuid pguid = null;
-            if (this.xtraTabContrl.SelectedTabPage != null)
+            if (this.tabbedView1.ActiveDocument != null)
             {
-                pguid = this.xtraTabContrl.SelectedTabPage.Tag as PageGuid;
+                pguid = this.tabbedView1.ActiveDocument.Tag as PageGuid;
             }
             SelectModular(tag, pguid);
         }
@@ -181,26 +185,40 @@
         #region TabbedView 相关事件处理程序
 
         //选中
-        private void xtraTabContrl_SelectedPageChanged(object sender, TabPageChangedEventArgs e)
+        private void tabbedView1_DocumentSelected(object sender, DocumentEventArgs e)
         {
-            if (e.Page == null)
+            if (e.Document == null)
                 return;
-            var pguid = e.Page.Tag as PageGuid;
+            var pguid = e.Document.Tag as PageGuid;
             if (pguid == null)
                 return;
             SelectModular(pguid.Modular, pguid);
         }
 
-        //关闭
-        private void xtraTabContrl_CloseButtonClick(object sender, EventArgs e)
+        //添加
+        private void tabbedView1_DocumentAdded(object sender, DocumentEventArgs e)
         {
-            var arg = e as ClosePageButtonEventArgs;
-            var last_index = this.xtraTabContrl.SelectedTabPageIndex - 1;
-            this.xtraTabContrl.TabPages.Remove(arg.Page as XtraTabPage);
-            if (last_index > 0)
+            if (this.tabbedView1.Documents.Count > 1)
             {
-                this.xtraTabContrl.SelectedTabPageIndex = last_index;
+                if (!this.tabbedView1.DocumentGroupProperties.ShowTabHeader)
+                {
+                }
             }
+        }
+
+        //激活
+        private void tabbedView1_DocumentActivated(object sender, DocumentEventArgs e)
+        {
+            var page = e.Document.Control as DocumentPage;
+            if (page == null)
+            {
+                return;
+            }
+        }
+
+        //关闭 此时控件已经为空
+        private void tabbedView1_DocumentClosed(object sender, DocumentEventArgs e)
+        {
         }
 
         #endregion TabbedView 相关事件处理程序
@@ -235,9 +253,9 @@
                 }
             }
 
-            if (this.xtraTabContrl.TabPages != null && this.xtraTabContrl.TabPages.Count > 0)
+            if (this.tabbedView1.Documents != null && this.tabbedView1.Documents.Count > 0)
             {
-                foreach (XtraTabPage doc in this.xtraTabContrl.TabPages)
+                foreach (BaseDocument doc in this.tabbedView1.Documents)
                 {
                     if (doc.Tag != null)
                     {
@@ -247,7 +265,7 @@
                             {
                                 if (isActivePage)
                                 {
-                                    this.xtraTabContrl.SelectedTabPage = doc;
+                                    this.tabbedView1.Controller.Activate(doc);
                                 }
                                 return true;
                             }
@@ -283,12 +301,12 @@
                 }
             }
 
-            if (this.xtraTabContrl.TabPages != null && this.xtraTabContrl.TabPages.Count > 0)
+            if (this.tabbedView1.Documents != null && this.tabbedView1.Documents.Count > 0)
             {
-                var doc = this.xtraTabContrl.TabPages.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString());
+                var doc = this.tabbedView1.Documents.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString());
                 if (doc != null)
                 {
-                    var page = doc.Controls[0] as DocumentPage;
+                    var page = doc.Control as DocumentPage;
                     if (page != null)
                     {
                         page.RefreshData();
@@ -325,16 +343,16 @@
                 }
             }
 
-            if (this.xtraTabContrl.TabPages != null && this.xtraTabContrl.TabPages.Count > 0)
+            if (this.tabbedView1.Documents != null && this.tabbedView1.Documents.Count > 0)
             {
-                var doc = this.xtraTabContrl.TabPages.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString());
+                var doc = this.tabbedView1.Documents.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString());
                 if (doc != null)
                 {
-                    doc.Text = title.Caption;
+                    doc.Caption = title.Caption;
                     doc.ImageOptions.Image = title.HeaderImage;
                     doc.ImageOptions.SvgImage = title.HeaderSvgImage;
                     doc.ImageOptions.SvgImageSize = title.SvgImageSize;
-                    var page = doc.Controls[0] as DocumentPage;
+                    var page = doc.Control as DocumentPage;
                     if (page != null)
                     {
                         page.PageTitle = title;
@@ -392,20 +410,20 @@
 
                 case eMoudingType.Tab:
                     {
-                        var sel_page = new XtraTabPage();
-                        page.Dock = DockStyle.Fill;
-                        sel_page.Controls.Add(page);
-                        this.xtraTabContrl.TabPages.Add(sel_page);
+                        this.tabbedView1.BeginUpdate();
+                        var doc = this.tabbedView1.AddDocument(page);
+                        doc.Footer = Directory.GetCurrentDirectory();
                         if (page.PageTitle != null)
                         {
-                            sel_page.Text = page.PageTitle.Caption;
-                            sel_page.ImageOptions.Image = page.PageTitle.HeaderImage;
-                            sel_page.ImageOptions.SvgImage = page.PageTitle.HeaderSvgImage;
-                            sel_page.ImageOptions.SvgImageSize = page.PageTitle.SvgImageSize;
-                            //doc.Properties.AllowClose = page.PageTitle.AllowClose ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
+                            doc.Caption = page.PageTitle.Caption;
+                            doc.ImageOptions.Image = page.PageTitle.HeaderImage;
+                            doc.ImageOptions.SvgImage = page.PageTitle.HeaderSvgImage;
+                            doc.ImageOptions.SvgImageSize = page.PageTitle.SvgImageSize;
+                            doc.Properties.AllowClose = page.PageTitle.AllowClose ? DevExpress.Utils.DefaultBoolean.True : DevExpress.Utils.DefaultBoolean.False;
                         }
-                        sel_page.Tag = pguid;
-                        this.xtraTabContrl.SelectedTabPage = sel_page;
+                        doc.Tag = pguid;
+                        this.tabbedView1.EndUpdate();
+                        this.tabbedView1.Controller.Activate(doc);
                     }
                     break;
 
@@ -437,12 +455,12 @@
 
                 case eMoudingType.Tab:
                     {
-                        if (this.xtraTabContrl.TabPages != null && this.xtraTabContrl.TabPages.Count > 0)
+                        if (this.tabbedView1.Documents != null && this.tabbedView1.Documents.Count > 0)
                         {
-                            var doc = this.xtraTabContrl.TabPages.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString());
+                            var doc = this.tabbedView1.Documents.ToList().Find(x => x.Tag != null && x.Tag is PageGuid && (x.Tag as PageGuid).ToString() == pguid.ToString());
                             if (doc != null)
                             {
-                                this.xtraTabContrl.TabPages.Remove(doc);
+                                this.tabbedView1.Controller.Close(doc);//会触发正在关闭和关闭事件
                             }
                         }
                     }
@@ -564,6 +582,7 @@
 
             return false;
         }
+ 
 
         //获取
         private List<AccordionElement> GetAccordionElementList(string modular)
@@ -651,8 +670,6 @@
                         {
                             if (!IsExistPage(guid, true))
                             {
-                                var page=new WaterUtensilMainPage();
-                                CreatePage(page, guid);
                             }
                         }),
                         Get("用水当量",new PageGuid()
@@ -664,8 +681,6 @@
                         {
                             if (!IsExistPage(guid, true))
                             {
-                                var page=new WaterWEMgr();
-                                CreatePage(page, guid);
                             }
                         })
                     }
@@ -687,13 +702,13 @@
                         }, svgImgItem32[6], new Size(18, 18), (caption,guid,svg,size) =>
                         {
                             if (!IsExistPage(guid, true))
-                            {
-                             var page=new AssetsManufacturerMainPage();
+                            {   
+                                var page = new DocumentPage();
                                 page.PageGuid = guid;
                                 page.PageTitle.Caption = caption;
                                 page.PageTitle.HeaderSvgImage = svg;
                                 page.PageTitle.SvgImageSize = size;
-                                CreatePage(page,guid);
+                                CreatePage(page, guid);
                             }
                         }),
                         Get("水泵管理",new PageGuid()
@@ -722,13 +737,7 @@
                         {
                             if (!IsExistPage(guid, true))
                             {
-                                var page=new PackageManageMainPage();
-                                page.PageGuid = guid;
-                                page.PageTitle.Caption = caption;
-                                page.PageTitle.HeaderSvgImage = svg;
-                                page.PageTitle.SvgImageSize = size;
-                                CreatePage(page,guid);
-                             }
+                            }
                         })
                     }
                 };

--
Gitblit v1.9.3