Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dodavanje eventa

[es] :: .NET :: Dodavanje eventa

[ Pregleda: 379 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

popmilan76
Programer

Član broj: 295089
Poruke: 1266
*.dynamic.isp.telekom.rs.



+5 Profil

icon Dodavanje eventa23.09.2020. u 20:47 - pre 10 meseci
Imam formu1 sa kontrolom button,i formu2,sa jednim buttonom,i zanima me kako da kada kliknem na dugme u formi 1,otvorim formu 2 i u ubacim drugi event za buttonclick?

Nesto tipa

form2 uplate = new form2();
uplate.button1.click += uplate.fakture;
uplate.show();
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Član broj: 37636
Poruke: 1236



+93 Profil

icon Re: Dodavanje eventa24.09.2020. u 11:02 - pre 10 meseci
Probaj samo form2.button1 da promeniš iz protected u public.
 
Odgovor na temu

popmilan76
Programer

Član broj: 295089
Poruke: 1266
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Dodavanje eventa25.09.2020. u 14:15 - pre 10 meseci
To jesam uradio,nije to problem...Nego,taj button ima vec svoj onclick event,i ja treba da ucitam neki drugi,i to nece...Ali hoće tako što ne dodeljujem nikakav event ,dakle bez eventa onclick,samo ubacim taj drugi i tada radi..
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12783



+4729 Profil

icon Re: Dodavanje eventa25.09.2020. u 17:54 - pre 10 meseci
A sta se tacno desava? Ili se ne desava a ocekujes?
Ako su i button1 i funckija fakture public i ako fakture ima odgovarajuci potpis da bude handler za event Button.Click ne bi trebalo da bude problem. Ako taj button vec ima handler za click i dodas mu i ovaj drugi izvrsice se oba, tim redom kojim su dodati.

S druge strane, to sto radis, cak i ako profunkcionise, najverovatnije ne bi trebalo (tako) da radis :)
 
Odgovor na temu

popmilan76
Programer

Član broj: 295089
Poruke: 1266
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Dodavanje eventa25.09.2020. u 20:32 - pre 10 meseci
Hocu da izbrisem postojeći onclick event i da stavim drugi?Button je public.

Mislim može i ovako da nema event,pa da ga ja dodam,ali za nekada ce mi zatrebati.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12783



+4729 Profil

icon Re: Dodavanje eventa25.09.2020. u 20:45 - pre 10 meseci
Ako hoces da izbacis taj prvobitni, mozes sa -= (samo sto i on mora biti public ako hoces van forme to da uradis).

Npr. ako imas:

Code (csharp):

     public partial class Form2 : Form
     {
          public Form2()
          {
               InitializeComponent();
          }

          public void button1_Click(object sender, EventArgs e)
          {
               MessageBox.Show("form2");
          }

          public void button1_Click2(object sender, EventArgs e)
          {
               MessageBox.Show("form1");
          }
     }


i button_Click je vec dodat kao event handler, mozes u glavnoj formi uraditi sledece:
Code (csharp):

     public partial class Form1 : Form
     {
          public Form1()
          {
               InitializeComponent();
          }

          private void button1_Click(object sender, EventArgs e)
          {
               Form2 frm = new Form2();
               frm.button1.Click -= frm.button1_Click;
               frm.button1.Click += frm.button1_Click2;
               frm.Show();
          }
     }
 



Kada u glavnoj formi kliknes na button i pojavi se druga forma i na njoj kliknes na button, dobices samo poruku form1.
 
Odgovor na temu

popmilan76
Programer

Član broj: 295089
Poruke: 1266
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Dodavanje eventa25.09.2020. u 22:42 - pre 10 meseci
Hvala.Znaci moram da ga izbrisem,pa da ga dodam.Ok,probacu.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12783



+4729 Profil

icon Re: Dodavanje eventa25.09.2020. u 22:52 - pre 10 meseci
Pa, rekao si da hoces da iznacis stari i ubacis novi. Sa -= uklanjas stari i sa += dodajes novi. Ne moras uklanjati i dodavati isti. Obrati paznju da tamo ima Click i Click2 metod. Na brzinu sam pravio pa nisam bas davao neka narocita imena :)

Edit: Evo, prikacio sam i projekat.
Prikačeni fajlovi
 
Odgovor na temu

popmilan76
Programer

Član broj: 295089
Poruke: 1266
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Dodavanje eventa26.09.2020. u 09:49 - pre 10 meseci
Ne,razumemo se ...Ali ne mogu da ubacim novi ,ako već postoji onclick event...Ja sam mislio da je dovoljno samo da ubacim novi,bez obzira da l postoji stari...bez -=,samo +=...Hvala puno....
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Član broj: 37636
Poruke: 1236



+93 Profil

icon Re: Dodavanje eventa26.09.2020. u 11:21 - pre 10 meseci
Generalno možeš da ubaciš novi. Sistem će ih sve zapamtiti i pozvati. To odgovorno tvrdimo i ja i Shadowed. Možda nisi hteo da kažeš da "ne možeš" nego da "nećeš" da ubaciš novi ako jedan već postoji?

S druge strane, ako možeš da menjaš sve sorseve što opšte registruješ prvi OnClick? Nemoj ga registrovati, pa nećeš posle morati ni da ga deregistruješ.
 
Odgovor na temu

popmilan76
Programer

Član broj: 295089
Poruke: 1266
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Dodavanje eventa26.09.2020. u 11:56 - pre 10 meseci
Ne,nemam ja problem da kažem i da ne znam,kao što i ne znam...Nego sam mislio da kada ubacim += new event,da samim tim dolazi na to mesto,i briše prethodni onclick?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12783



+4729 Profil

icon Re: Dodavanje eventa26.09.2020. u 12:23 - pre 10 meseci
Jasno. Ne brise, zato je +=, inace bi bila samo dodela tj. =
S druge strane, sto se arhitekture tice, ako ti je vec i event i handler u Form2, ne bi trebalo da spolja to menjas. Uglavnom je bolje da se forma bavi svojim poslom i da sama odredjuje kako ce obradjivati klik na dugme ili sta god da se na njoj desava. Naravno, to moze da radi na osnovu parametara prosledjenih od spolja i sl. Postoji i dependency injection gde se od spolja daje sta ce pozivati ili koristiti ali to drugacije funkcionise :)
Mislim, ne teram te da menjas, samo skrecem paznju na bolju praksu.

Takodje, baci pogled na WPF. Jako dobra tehnologija za UI a sve sto je MS kasnije pravio za UI su neke varijacije na tu temu.
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2280



+620 Profil

icon Re: Dodavanje eventa26.09.2020. u 12:47 - pre 10 meseci
Ostaje ti ili da svaki tater radi jednu i samo jednu stvar na klik, ili da sve te ostale događaje staviš u tu funkciju koja se poziva.

Postoje i složeniji načini, da klik na taster ne poziva uvek istu metodu, ali moraš da se zezaš sa argumentima ili da proveravaš stanje nekog drugog kontrolnog elementa (npr. da li je stanje nekog čekboksa ili radio tastera True ili False). Doduše, ako baš imaš potrebu da npr. jedan taster poziva 5 različitih Click metoda u zavisnosti od nečeg drugog, najjednostavnije je sve to staviti u jednu Click metodu pa uslovno izvršavati kod (Switch ili if/else), dok bi drugi način bio da stvarno imaš 5 tastera, ali da ti 4 uvek budu sakrivena ili ispod onog koji treba da bude aktivan. Međutim, UI ne treba da sadrži takve komplikacije zbog kasnijeg redizajna ili portovanja za drugu platformu.
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

[es] :: .NET :: Dodavanje eventa

[ Pregleda: 379 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.