Exemple #1
0
        //PRZYCISKI


        //przycisk Wyślij
        private void praca_wyslij_Click(object sender, EventArgs e)
        {
            Moje_Arg_Wydarzen Arg_Tabeli = new Moje_Arg_Wydarzen();//tworzymy egzemplarz klasy Moje_Arg_Wydarzen o nazwie Arg_Tabeli (czyli tworzymy argumenty dla wydarzenia)

            //przypisujemy argumentom wydarzeń wartość
            string[] rekord = TworzenieRekordu(IleGroupBoxwOknie(ActiveForm));    //dodajemy wiersz do tabeli
            Arg_Tabeli.wiersz = rekord;
            string[] etykietki = DodawanieEtykiet(IleGroupBoxwOknie(ActiveForm)); //dodajemy etykiety kolumnom
            Arg_Tabeli.etykiety = etykietki;

            WyzwalaczUzupelnianie_obserwacji(Arg_Tabeli);    //wywołujemy metodę wyzwalającą wydarzenie (let it happen!)


            //dodajemy MessageBoxa, by poinformować o wypełnieniu ankiety i możliwości kolejnego jej wypełnienia
            if (MessageBox.Show("Ankieta: Praca została wypełniona i wysłana do bazy danych. \n Czy chcesz wypełnić ją ponownie?", "Kolejne wypełnienie",
                                MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                ActiveForm.Close(); //zamykam obecne okno i otwieram nowe (mniej klikania niż przez menu)
                Praca praca2 = new Praca();
                praca2.Show();
                //to samo co w oknie głównym, tylko robione z poziomu wywołania tego okna za pomocą przycisku wyślij
                praca2.Uzupelnianie_obserwacji += new EventHandler <Moje_Arg_Wydarzen>(praca2_Uzupelnianie_obserwacji);
            }

            else
            {
                ActiveForm.Close(); //zamykam to okno po prostu
            }
        }
Exemple #2
0
        // działanie opcji Plik/Nowa ankieta/Praca
        private void pracaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //jeśli w tabeli głównej znajdują się dane z ankiety Praca, to nie otwieraj okna
            if (tabela_glowna.RowCount != 0 && tabela_glowna.Rows[0].Cells["ankieta"].Value.ToString() == "Szkoła")
            {
                MessageBox.Show("Pracujesz na danych z ankiety Szkoła. Rozpocznij nowa sesję, by pracować z ankietą Praca.", "Inna ankieta");
            }
            else
            {
                //zapobiegamy kilkukrotnemu otwarciu tego samego okna; zmodyfikowana wersja kodu z www.c-sharpcorner.com/UploadFile/kirtan007/how-to-prevent-multiple-instances-of-child-form-in-mdi-windows-form-application/
                bool OknoOtwarte = false;
                foreach (Form f in Application.OpenForms)
                {
                    if (f.Name == "Praca")
                    {
                        OknoOtwarte = true;
                        f.Focus(); //przełącza na otwarte okno
                        break;
                    }
                }

                //otwieranie okna Praca
                if (OknoOtwarte == false)
                {
                    Praca praca1 = new Praca();
                    praca1.Show();

                    if (tabela_glowna.ColumnCount == 0) //jak zamkniemy okno i uruchomimy je z menustrip, to żeby nam nie dodało kolumn jeszcze raz
                    {
                        tabela_glowna.Columns.Add("ankieta", "ankieta");
                        IleKolumn = praca1.IleGroupBoxwOknie(praca1); //ustalenie liczby kolumn potrzebnych do tej ankiety
                        for (int i = 1; i <= IleKolumn; i++)          //nazywanie kolumn i nagłówków kolumn
                        {
                            string nazwaKolumny    = "pytanie" + i.ToString();
                            string naglowekKolumny = "pytanie" + i.ToString();
                            tabela_glowna.Columns.Add(nazwaKolumny, naglowekKolumny);
                        }
                    }
                    //chcemy, żeby zostało wykonane wydarzenie Uzupelnianie_obserwacji i zatrudniamy gostka by się tym zajął
                    praca1.Uzupelnianie_obserwacji += new EventHandler <Moje_Arg_Wydarzen>(praca1_Uzupelnianie_obserwacji);
                }
            }
        }