From f489e359066e1036f13491ef128a355bc730afcb Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期二, 24 六月 2025 13:36:18 +0800 Subject: [PATCH] bug --- DevApp/Gs.DevApp/DevFrm/FrmMain.cs | 157 +++++++++++++++++++++++++++++---------------------- 1 files changed, 89 insertions(+), 68 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs index bbcea10..c3aa09e 100644 --- a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs +++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs @@ -21,8 +21,10 @@ { public partial class FrmMain : FluentDesignForm { - private static readonly Dictionary<string, XtraTabPage> TabPageDic = - new Dictionary<string, XtraTabPage>(); + /// <summary> + /// tab涓存椂閫夐」鍗� + /// </summary> + private static readonly Dictionary<string, XtraTabPage> TabPageDic = new Dictionary<string, XtraTabPage>(); private string OldorgFids = ""; public FrmMain() { @@ -33,7 +35,6 @@ barPwd.ItemClick += BarPwd_ItemClick; barExit.ItemClick += BarExit_ItemClick; FormClosing += FrmMain_FormClosing; - barEasy.ItemClick += BarEasy_ItemClick; getTree(); tab.MouseDown += Tab_MouseDown; tabCloseCurrent.Click += (s, e) => @@ -94,14 +95,12 @@ MsgHelper.Warning("鎻愮ず锛�" + ex.Message); } }; - barMenu.ItemClick += (s, e) => - { - Gs.DevApp.DevFrm.User.SysMenu frm = new SysMenu(); - frm.ShowDialog(); - }; - // tab.ContextMenuStrip = cms1; } - + /// <summary> + /// 鏄剧ず鍙抽敭鑿滃崟 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> private void Tab_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) @@ -109,13 +108,6 @@ cms1.Show(tab, e.Location); } } - - private void BarEasy_ItemClick(object sender, ItemClickEventArgs e) - { - //var frm = new EasyCode(); - //frm.ShowDialog(); - } - private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) { if (MsgHelper.AskQuestion("纭畾瑕侀��鍑虹郴缁熷悧?")) @@ -175,6 +167,9 @@ { getTree(); } + /// <summary> + /// 璇诲彇宸﹀垯妯″潡鑿滃崟 + /// </summary> private void getTree() { toolTime.Text = "鐧诲綍鏃堕棿" + LoginInfoModel.CurrentUser.LoginTime; @@ -295,14 +290,16 @@ } /// <summary> - /// 鏂板閫夐」鍗¢〉 + /// 鏂板閫夐」鍗¢〉 /// </summary> /// <param name="tabControl">閫夐」鍗℃帶浠�</param> /// <param name="tabPageName">褰撴湡閫夐」鍗¢〉name鍚嶇О</param> /// <param name="tabText">褰撳墠閫夐」鍗¢〉Text鏍囬</param> - /// <param name="newFormName">褰撳墠閫夐」鍗′腑鐨勬柊绐椾綋璺緞锛岀被鍚�</param> + /// <param name="newFormName"></param> + /// <param name="imgIcon">褰撳墠閫夐」鍗′腑鐨勬柊绐椾綋璺緞锛岀被鍚�</param> + /// <param name="InitializeVal">鍒濆鍊硷紝鐢ㄤ簬瀛愮獥浣撲腑璋冪敤鐖剁獥浣撶殑鍊�</param> public void AddTabpage(XtraTabControl tabControl, string tabPageName, - string tabText, string newFormName, Image imgIcon,string InitializeVal="") + string tabText, string newFormName, Image imgIcon, string InitializeVal = "") { if (IsTabpageExsit(tabControl, tabPageName)) return; var newPage = new XtraTabPage(); @@ -335,13 +332,25 @@ return; } foreach (XtraTabPage item in tabControl.TabPages) + { if (item.Name == name) { + //鍚庢潵鍔犱笂锛屼负浜嗛噴鏀剧獥浣撹祫婧恇eg + //foreach (Control control in item.Controls) + //{ + // if (control is Form) + // { + // Form myForm = control as Form; + // myForm.Invoke((MethodInvoker)delegate { myForm.Dispose(); }); // 纭繚 UI 绾跨▼瀹夊叏鍦伴噴鏀捐祫婧� + // } + //} + //鍚庢潵鍔犱笂锛屼负浜嗛噴鏀剧獥浣撹祫婧恊nd tabControl.TabPages.Remove(item); item.Dispose(); TabPageDic.Remove(name); return; } + } } /// <summary> @@ -367,7 +376,7 @@ /// 鍦ㄩ�夐」鍗′腑鐢熸垚绐椾綋 /// </summary> /// <param name="form">绐椾綋鍚嶇О</param> - private Form AddNewForm(string formName,string InitializeVal) + private Form AddNewForm(string formName, string InitializeVal) { try { @@ -383,61 +392,20 @@ newForm.ControlBox = false; newForm.Dock = DockStyle.Fill; newForm.Visible = true; - //瀹炵幇瀛愮獥浣撶殑濮旀墭beg - EventInfo evt = newForm.GetType().GetEvent("ToUpdateParent", - BindingFlags.NonPublic | BindingFlags.Instance - | BindingFlags.Public - ); - if (evt != null) - evt.AddEventHandler(newForm, new EventHandler<UpdateParentEventArgs>(UpdateParent_OnChange)); - if (!string.IsNullOrEmpty(InitializeVal)) { - Assembly assembly = Assembly.GetExecutingAssembly(); - Type type = assembly.GetType(formName); - MethodInfo method = type.GetMethod("Initialize"); // 鑾峰彇Initialize鏂规硶鐨勪俊鎭� - if (method != null) - method.Invoke(newForm, new object[] { InitializeVal }); // 璋冪敤Initialize鏂规硶骞朵紶閫掑弬鏁� - } - //瀹炵幇瀛愮獥浣撶殑濮旀墭end + shiXian(newForm, formName, InitializeVal); return newForm; } catch (Exception) { MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒"); } - return null; } - //瀹炵幇瀛愮獥浣撶殑濮旀墭beg - private void UpdateParent_OnChange(object sender, UpdateParentEventArgs e) - { - List<string> _val = e.StringList; - string _formName = _val[0];//绫诲悕 - string _parm1= _val[1]; - var _obj = new - { - guid = _formName //涓诲缓 - }; - try - { - var strJson = UtilityHelper.HttpPost("", "MenuAction/GetModelByNameSpace", - JsonConvert.SerializeObject(_obj)); - var _rtn = UtilityHelper.ReturnToDynamic(strJson); - if (_rtn.rtnCode > 0) - { - var dy = _rtn.rtnData; - string tabPageName = dy.guid.ToString() + "_page"; - string tabText = dy.name.ToString(); //褰撳墠閫夐」鍗¢〉Text鏍囬 - string newFormName = dy.formPath.ToString(); //瀛樿矾寰勶紝绫诲悕 - Image imgIcon = UtilityHelper.GetImgFromResource(dy.icon.ToString(), 2); - AddTabpage(tab, tabPageName, tabText,newFormName, imgIcon, _parm1); - } - } - catch (Exception ex) - { - MsgHelper.Warning("鎻愮ず锛�" + ex.Message); - } - } - //瀹炵幇瀛愮獥浣撶殑濮旀墭end + + /// <summary> + /// 鐢ㄦ埛閫�鍑� + /// </summary> + /// <returns></returns> private int _userOut() { var _obj = new @@ -461,6 +429,59 @@ return 1; } } + + #region 瀹炵幇瀛愮獥浣撶殑濮旀墭锛屼富瑕佺敤浜庡瓙椤甸潰涓闂埗椤甸潰鏂规硶 + private void UpdateParent_OnChange(object sender, UpdateParentEventArgs e) + { + List<string> _val = e.StringList; + string _formName = _val[0];//绫诲悕 + string _parm1 = _val[1]; + var _obj = new + { + guid = _formName //涓诲缓 + }; + try + { + var strJson = UtilityHelper.HttpPost("", "MenuAction/GetModelByNameSpace", + JsonConvert.SerializeObject(_obj)); + var _rtn = UtilityHelper.ReturnToDynamic(strJson); + if (_rtn.rtnCode > 0) + { + var dy = _rtn.rtnData; + string tabPageName = dy.guid.ToString() + "_page"; + string tabText = dy.name.ToString(); //褰撳墠閫夐」鍗¢〉Text鏍囬 + string newFormName = dy.formPath.ToString(); //瀛樿矾寰勶紝绫诲悕 + Image imgIcon = UtilityHelper.GetImgFromResource(dy.icon.ToString(), 2); + //鍏堝叧闂� + RemoveTabPage(tab, tabPageName); + AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon, _parm1); + } + } + catch (Exception ex) + { + MsgHelper.ShowError("鎻愮ず锛�" + ex.Message); + } + } + + private void shiXian(Form newForm, string formName, string InitializeVal) + { + EventInfo evt = newForm.GetType().GetEvent("ToUpdateParent", + BindingFlags.NonPublic | BindingFlags.Instance + | BindingFlags.Public + ); + if (evt != null) + evt.AddEventHandler(newForm, new EventHandler<UpdateParentEventArgs>(UpdateParent_OnChange)); + if (!string.IsNullOrEmpty(InitializeVal)) + { + Assembly assembly = Assembly.GetExecutingAssembly(); + Type type = assembly.GetType(formName); + MethodInfo method = type.GetMethod("Initialize"); // 鑾峰彇Initialize鏂规硶鐨勪俊鎭� + if (method != null) + method.Invoke(newForm, new object[] { InitializeVal }); // 璋冪敤Initialize鏂规硶骞朵紶閫掑弬鏁� + } + } + #endregion + private void GetOrg() { string userGuid = LoginInfoModel.CurrentUser.LoginUserGuid; -- Gitblit v1.9.3