Exemple #1
0
        //PRZYCISKI


        //przycisk Wyślij
        private void szkola_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: Szkoła 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(); //zamykamy obecne okno i otwieram nowe (mniej klikania niż przez menu)
                Szkoła szkoła2 = new Szkoła();
                szkoła2.Show();
                //to samo co w oknie głównym, tylko robione z poziomu wywołania tego okna za pomocą przycisku wyślij
                szkoła2.Uzupelnianie_obserwacji += new EventHandler <Moje_Arg_Wydarzen>(szkoła2_Uzupelnianie_obserwacji);
            }

            else
            {
                ActiveForm.Close(); //zamykam to okno po prostu
            }
        }
Exemple #2
0
        //działanie opcji  Plik/Nowa ankieta/Szkoła
        private void szkołaToolStripMenuItem_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() == "Praca")
            {
                MessageBox.Show("Pracujesz na danych z ankiety Praca. Rozpocznij nowa sesję, by pracować z ankietą Szkoła.", "Inna ankieta");
            }
            else
            {
                //zapobiegam 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 == "Szkoła")
                    {
                        OknoOtwarte = true;
                        f.Focus(); //przełącza na otwarte okno
                        break;
                    }
                }

                //otwieranie okna Szkoła
                if (OknoOtwarte == false)
                {
                    Szkoła szkoła1 = new Szkoła();
                    szkoła1.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 = szkoła1.IleGroupBoxwOknie(szkoła1); //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ął
                    szkoła1.Uzupelnianie_obserwacji += new EventHandler <Moje_Arg_Wydarzen>(szkoła1_Uzupelnianie_obserwacji);
                }
            }
        }