Пример #1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            bt_kreiraj.Click += (o, args) =>
            {
                Raketa r = new Raketa();
                r.Naziv = tb_naziv.Text;

                r.Boooom += (obj, a) =>
                {
                    Raketa raketa = (Raketa)obj;
                    // obj je nekakva referenca na raketu koja je okinila događaj
                    MessageBox.Show(raketa.Naziv, "Izgorila raketa event", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                };

                sveRakete.Add(r);

                cb_rakete.DataSource = null; // Ovo služi za refresh
                cb_rakete.DataSource = sveRakete;
                // Prikaži Naziv rakete
                cb_rakete.DisplayMember = "Naziv";
                // Zovemo tri puta generičku funkciju sa različitim elementima
                Poruka <string>("Kreirana nova raketa i dodana u listu");
                Poruka <int>(sveRakete.Count);
                Poruka <Raketa>(r);
            };

            bt_plus.Click += (o, args) =>
            {
                // Pročitaj iz Comba

                Raketa r = (Raketa)cb_rakete.SelectedItem;
                // SAmo povećaj za 100 brzinu
                r.Brzina += 100;
            };
        }
Пример #2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            // Sender je sama forma
            Form1 forma = (Form1)sender; // Castaj u Form tip

            // MessageBox.Show("Hello " +  forma.Text);

            bt_unesi.Click += (o, a) =>  // može biti samo +=
            {
                // Lambda ima kontekst objekta u kojem se nalazi, this je forma
                Raketa raketa = new Raketa();
                raketa.Ime    = tb_ime.Text;
                raketa.Brzina = Double.Parse(tb_brzina.Text); // Try bi bio bolji
                // Prati kada raketa eksplodira
                raketa.Boom += (obj, args) =>
                {
                    Raketa r = obj as Raketa; // as je kao cast ali vrati null ako ne uspije
                    MessageBox.Show(r.ToString(), "Eksplodirala", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                };
                rakete.Add(raketa);

                DajAlert <Raketa>(raketa);

                // Dodaj u comboBox
                cb_rakete.DataSource    = null; // Refresh
                cb_rakete.DataSource    = rakete;
                cb_rakete.DisplayMember = "Ime";
            };

            bt_500.Click += (o, a) =>
            {
                // Dohvati raketu koja se ubrzaje i ubrzaj
                Raketa raketa = cb_rakete.SelectedItem as Raketa;
                raketa.Brzina += 500;
            };
        }