Beispiel #1
0
        private void timer_Tick(object sender, EventArgs e)
        {
            operacja++;        // zwiekszanie operacje zegara

            if (operacja >= 5) // co 5 operacji zegara wykonuj:
            {
                // Zadanie do wykonania
                Action a = new Action(() =>
                {
                    // Petla dla wszystkich pracownikow w kolekcji, wykonujaca ich prace
                    foreach (Pracownik pracownik in pracownicy)
                    {
                        pracownik.Pracuj();
                    }
                });

                // Wywolanie zadania
                Invoke(a);

                operacja = 0; // reset operacji
            }

            ZaznaczonyPracownik?.Ruch();

            // Odswierzenie kontrolek, glownie funkcji rysujacej
            Refresh();
        }
Beispiel #2
0
        private void buttonUsun_Click(object sender, EventArgs e)
        {
            // Jezeli nie ma nic zaznaczonego, nie rob nic
            if (listBoxPracownicy.SelectedIndex < 0)
            {
                return;
            }

            // Stworzenie i wyswietlenie okna dialogowego potwierdzajacego usuniecie obiektu
            DialogResult dialog = MessageBox.Show($"Czy napewno usunac {ZaznaczonyPracownik.ToString()}?", "Usuwanie pracownika", MessageBoxButtons.YesNo);

            if (dialog == DialogResult.Yes)
            {
                // Usun zaznaczony element
                pracownicy.Remove(ZaznaczonyPracownik);

                // Wywolanie funkcji odswierzajaca formularz
                OdswierzListePracownikow();
            }
        }
Beispiel #3
0
        private void listBoxPracownicy_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Odpiecie zdarzenia od wszystkich obiektow pracownik ktorzy nie sa zaznaczonym pracownikiem
            foreach (Pracownik p in pracownicy.Where(o => o != ZaznaczonyPracownik))
            {
                // Wywolanie metody odpinajacej metode od zdarzenia tego obiektu
                p.OdepnijZdarzenie(this);
            }

            // Brak pracownika, koniec funkcji
            if (ZaznaczonyPracownik == null)
            {
                return;
            }

            // Wywolanie metody ktora przypnie metode do zdarzenia obiektu
            ZaznaczonyPracownik.PrzypnijZdarzenie(this);

            // Manualne wywolanie funkcji aktualizujacej interfejs
            Pracownik_OnAktualizacja(ZaznaczonyPracownik);
        }
Beispiel #4
0
 private void panel1_Paint(object sender, PaintEventArgs e)
 {
     // Wywolanie funkcji obiektu ktora bedzie rysowac zaznaczonego pracownika
     // ? -> sprawdzenie czy obiekt nie jest nullem
     ZaznaczonyPracownik?.Rysuj(e.Graphics);
 }