private void Instance_AddItemEvent(string key, FormState formState) { try { if (formState.CurrentForm.FormControl.FormPosition == ShowFormPosition.Default) { splitContainerControl1.Panel2.Controls.Clear(); formState.CurrentForm.FormControl.Dock = DockStyle.Fill; splitContainerControl1.Panel2.Controls.Add(formState.CurrentForm.FormControl); } else { if (FrmMain.Instance.Controls.Count > 0) { if (FrmMain.Instance.Controls[0].GetType().BaseType != typeof(BasePage)) formState.ParentForm.FormControl = (BaseForm)FrmMain.Instance.Controls[0]; else formState.ParentForm.BasePageControl = (BasePage)FrmMain.Instance.Controls[0]; } FrmMain.Instance.Controls.Clear(); formState.CurrentForm.FormControl.Dock = DockStyle.Fill; FrmMain.Instance.Controls.Add(formState.CurrentForm.FormControl); } } catch (Exception ex) { CommonInvoke.ErrorMessageBox(ex); } }
public void Add(BaseForm form,BaseForm parentForm) { FormItem formItem = new FormItem{ FormControl = form}; FormItem parentFormItem = null; if (parentForm != null) parentFormItem = new FormItem { FormControl = parentForm, CurrentPage = parentForm.GetCurrentPage(), FormControls = parentForm.GetTableControls()}; FormState formState = new FormState { CurrentForm = formItem, ParentForm = parentFormItem}; Add(form.GUID, formState); }
private void Instance_RemoveItemEvent(string key, FormState formState) { try { if (formState.CurrentForm.FormControl.FormPosition == ShowFormPosition.Default) { splitContainerControl1.Panel2.Controls.Clear(); if (formState.ParentForm != null) { formState.ParentForm.FormControl.Dock = DockStyle.Fill; formState.ParentForm.FormControl.Reload(); splitContainerControl1.Panel2.Controls.Add(formState.ParentForm.FormControl); } } else { FrmMain.Instance.Controls.Clear(); if (formState.ParentForm != null) { if (formState.ParentForm.BasePageControl == null) { BaseForm control = formState.ParentForm.FormControl; control.Dock = DockStyle.Fill; control.Reload(); FrmMain.Instance.Controls.Add(control); } else { Maleos.Controls.BasePage control = formState.ParentForm.BasePageControl; control.Dock = DockStyle.Fill; control.Reload(); FrmMain.Instance.Controls.Add(control); } } } } catch (Exception ex) { CommonInvoke.ErrorMessageBox(ex); } }
/// <summary> /// 添加 /// </summary> /// <param name="key"></param> /// <param name="formState"></param> private void Add(string key, FormState formState) { FormStateCache.Add(key, formState); if (AddItemEvent != null) AddItemEvent(key, formState); }
protected void AddItem(string key, FormState formState) { lock (this) { if(AddItemEvent != null) AddItemEvent(key, formState); } }
public void RemoveItem(string key, FormState formState) { lock (this) { if (RemoveItemEvent != null) RemoveItemEvent(key, formState); } }
public void OpenWindow(BaseForm parentForm) { FormItem formItem = new FormItem { FormControl = this, CurrentPage = GetCurrentPage(), FormControls = GetTableControls() }; FormItem parent = null; if (parentForm != null) parent = new FormItem { FormControl = parentForm, FormControls = parentForm.GetTableControls(), CurrentPage = parentForm.GetCurrentPage() }; FormState formState = new FormState { ParentForm = parent, CurrentForm = formItem }; TaskService.Instance.Add(this, parentForm); }
public void CloseWindow() { FormItem formItem = new FormItem{ FormControl = this}; FormState formState = new FormState{ CurrentForm = formItem}; TaskService.Instance.Remove(GUID); }