Beispiel #1
0
        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);
                }
            }
        }