| | |
| | | /// <param name="tabText">当前选项卡页Text标题</param> |
| | | /// <param name="newFormName">当前选项卡中的新窗体路径,类名</param> |
| | | public void AddTabpage(XtraTabControl tabControl, string tabPageName, |
| | | string tabText, string newFormName, Image imgIcon) |
| | | string tabText, string newFormName, Image imgIcon,string InitializeVal="") |
| | | { |
| | | if (IsTabpageExsit(tabControl, tabPageName)) return; |
| | | var newPage = new XtraTabPage(); |
| | |
| | | newPage.Tooltip = newPage.Name; |
| | | newPage.Appearance.Header.Font = tab.Appearance.Font; |
| | | newPage.ImageOptions.Image = imgIcon; |
| | | var fm = AddNewForm(newFormName); |
| | | var fm = AddNewForm(newFormName, InitializeVal); |
| | | if (fm != null) |
| | | { |
| | | newPage.Controls.Add(fm); |
| | |
| | | /// 在选项卡中生成窗体 |
| | | /// </summary> |
| | | /// <param name="form">窗体名称</param> |
| | | private Form AddNewForm(string formName) |
| | | private Form AddNewForm(string formName,string InitializeVal) |
| | | { |
| | | try |
| | | { |
| | |
| | | newForm.Dock = DockStyle.Fill; |
| | | newForm.Visible = true; |
| | | //实现子窗体的委托beg |
| | | EventInfo evt = newForm.GetType().GetEvent("UpdateParent", |
| | | 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 |
| | | return newForm; |
| | | } |
| | |
| | | private void UpdateParent_OnChange(object sender, UpdateParentEventArgs e) |
| | | { |
| | | List<string> _val = e.StringList; |
| | | MsgHelper.ShowError(_val[0]); |
| | | var tabPageName = _val + "_page"; |
| | | var tabText = ""; //当前选项卡页Text标题 |
| | | var newFormName = "Gs.DevApp.DevFrm.Frm_MesInvItemOut_SCLL"; //存路径,类名 |
| | | Image imgIcon = null; |
| | | AddTabpage(tab, tabPageName, tabText, |
| | | newFormName, imgIcon); |
| | | 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.Warning("提示:" + ex.Message); |
| | | } |
| | | } |
| | | //实现子窗体的委托end |
| | | private int _userOut() |