private void m_lsvDeactiveInfo_DoubleClick(object sender, System.EventArgs e) { if (m_lsvDeactiveInfo.SelectedItems.Count == 0) { return; } clsDeactiveInfo objDeactiveInfo = (clsDeactiveInfo)m_lsvDeactiveInfo.SelectedItems[0].Tag; clsDeactiveFormInfo objFormInfo = (clsDeactiveFormInfo)m_cboFormType.Tag; m_objBaseCurrentPatient.m_DtmSelectedInDate = objDeactiveInfo.m_dtmSelectedInDate; frmHRPBaseForm objBaseForm = m_objBaseForm; if (objBaseForm == null) { Type typForm = Type.GetType(objFormInfo.m_strMainFormClassName); //如果没有不需参数的构造函数则爆 objBaseForm = (frmHRPBaseForm)Activator.CreateInstance(typForm); objBaseForm.m_BlnIfNewDeletedRecord = true; objBaseForm.MdiParent = clsEMRLogin.s_FrmMDI; this.MdiParent = clsEMRLogin.s_FrmMDI; objBaseForm.WindowState = FormWindowState.Maximized; objBaseForm.Show(); objBaseForm.TopMost = true; } bool blnIsRecordBase = false; frmRecordsBase frmRB = null; if (objBaseForm is frmDiseaseTrackBase) { for (int i = 0; i < clsEMRLogin.s_FrmMDI.MdiChildren.Length; i++) { if (clsEMRLogin.s_FrmMDI.MdiChildren[i] is frmRecordsBase) { if (((frmRecordsBase)clsEMRLogin.s_FrmMDI.MdiChildren[i]).m_FrmCurrentSub != null && ((frmRecordsBase)clsEMRLogin.s_FrmMDI.MdiChildren[i]).m_FrmCurrentSub.Equals(objBaseForm)) { frmRB = (frmRecordsBase)clsEMRLogin.s_FrmMDI.MdiChildren[i]; blnIsRecordBase = true; } } } } if (!blnIsRecordBase) { objBaseForm.m_mthSetDeactiveContent(m_objBaseCurrentPatient, objDeactiveInfo.m_dtmPrimaryDate, objFormInfo.m_intFormID); MDIParent.s_ObjSaveCue.m_mthRemoveForm(objBaseForm); } else if (frmRB != null) { frmRB.m_mthSetDeactiveContent(m_objBaseCurrentPatient, objDeactiveInfo.m_dtmPrimaryDate, objFormInfo.m_intFormID); } //objBaseForm.Close(); this.Close(); // this.Dispose(); }
/// <summary> /// 显示体格检查窗体 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void m_cmdBodyCheck_Click(object sender, EventArgs e) { System.Reflection.Assembly objAsm = System.Reflection.Assembly.LoadFrom(System.Windows.Forms.Application.StartupPath + "\\Emr_InpatMedRec.dll"); object obj = objAsm.CreateInstance("iCare.frmIMR_intHosptalrecord"); if (obj != null && obj is frmHRPBaseForm) { frmHRPBaseForm frmCheck = obj as frmHRPBaseForm; frmCheck.MdiParent = com.digitalwave.Emr.StaticObject.clsEMR_StaticObject.s_FrmMDI; frmCheck.WindowState = FormWindowState.Maximized; if (clsEMRLogin.LoginInfo != null && obj is com.digitalwave.iCare.ValueObject.iLoginInfo) { ((com.digitalwave.iCare.ValueObject.iLoginInfo)obj).LoginInfo = clsEMRLogin.LoginInfo; } frmCheck.Show(); if (MDIParent.s_ObjCurrentPatient != null) { frmCheck.m_mthSetPatient(MDIParent.s_ObjCurrentPatient); } } }