Пример #1
0
        private void bgw_LoadPatient(object source, DoWorkEventArgs e)
        {
            PatientMenu match;
            bool        isOpen = false;

            Patient myPatient = patientList.ElementAt(index);

            bgw.ReportProgress(10);
            foreach (Form f in Application.OpenForms)
            {
                if (f is PatientMenu)
                {
                    match = (PatientMenu)f;

                    if (match.patient.patientId == myPatient.patientId)
                    {
                        isOpen = true;
                        SetText("Already Loaded!");
                        bgw.Dispose();
                        bgw.ReportProgress(100);
                        break;
                    }
                }
            }
            bgw.ReportProgress(30);
            if (!isOpen)
            {
                //Note: Thread.Sleep is only used to demonstrate that GUI
                //      remains responsive during "Loading".
                loading        = true;
                p_menu         = new PatientMenu();
                p_menu.patient = myPatient;
                p_menu.Text    = "Patient ID: " + myPatient.patientId;
                Thread.Sleep(1000);
                bgw.ReportProgress(40);
                Thread.Sleep(1000);
                bgw.ReportProgress(50);
                Thread.Sleep(1000);
                bgw.ReportProgress(80);
                Thread.Sleep(1000);
                SetText("Load Patient");
                bgw.ReportProgress(100);
                p_menu.ShowDialog();
            }
        }
        private void bgw_LoadPatient(object source, DoWorkEventArgs e)
        {
            PatientMenu match;
                bool isOpen = false;

                Patient myPatient = patientList.ElementAt(index);

                bgw.ReportProgress(10);
                foreach (Form f in Application.OpenForms)
                {
                    if (f is PatientMenu)
                    {
                        match = (PatientMenu)f;

                        if (match.patient.patientId == myPatient.patientId)
                        {
                            isOpen = true;
                            SetText("Already Loaded!");
                            bgw.Dispose();
                            bgw.ReportProgress(100);
                            break;
                        }
                    }
                }
                bgw.ReportProgress(30);
                if (!isOpen)
                {
                    //Note: Thread.Sleep is only used to demonstrate that GUI
                    //      remains responsive during "Loading".
                    loading = true;
                    p_menu = new PatientMenu();
                    p_menu.patient = myPatient;
                    p_menu.Text = "Patient ID: " + myPatient.patientId;
                    Thread.Sleep(1000);
                    bgw.ReportProgress(40);
                    Thread.Sleep(1000);
                    bgw.ReportProgress(50);
                    Thread.Sleep(1000);
                    bgw.ReportProgress(80);
                    Thread.Sleep(1000);
                    SetText("Load Patient");
                    bgw.ReportProgress(100);
                    p_menu.ShowDialog();
                }
        }