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

Kreiranje EventHandlera za korisnicki definisanu klasu!

[es] :: .NET :: Kreiranje EventHandlera za korisnicki definisanu klasu!

[ Pregleda: 1848 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

deki_inf
Beograd

Član broj: 115871
Poruke: 39
212.62.53.*



Profil

icon Kreiranje EventHandlera za korisnicki definisanu klasu!27.05.2007. u 09:17 - pre 206 meseci
Dakle imam sledeci kod:


public class Field
{
private Panel place;
................................

E sad bih hteo da napravim sledece:

private void field_MouseUp( object sender,System.Windows.Forms.MouseEventArgs e )
{
................................

Radim u 2005 C#!Za ovu klasu koja ima privatan podatak clan PANEL hocu da napravim EventHandler da kad se klikne da se nesto desi!
Kada se pravi za neku Formu,samo u properties dvoklik i imam gotovo i mogu da kucam kod!Onda mi on daje:
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseUp);
i jos za definisanje:
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
..............................
i ovde samo pisem kod!
Kako da napravim za svoju klasu neki hendler?!?!?!?!?!?!

Za tu klasu imam samo jedan fajl Field.cs i probao sam sa:
private MouseEventHandler field_MouseUp;

i da u fajlu Form1.cs stavim:
private void field_MouseUp( object sender,System.Windows.Forms.MouseEventArgs e )
{
.........................

ALI NECE!!!!!!!!!!!!!!!!!!!!!!!!
Sta treba da u deklaraciji u field.cs fajlu stavim kao argumente:private MouseEventHandler field_MouseUp=new MouseEventHandle(???????????)?Ili mozda nesto drugo treba da se uradi!!!

Ljudi pomagajte!!!!!!!!!!!!!!!!!

Hvala!!!!



[Ovu poruku je menjao deki_inf dana 27.05.2007. u 13:43 GMT+1]
 
Odgovor na temu

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
*.adsl-1.sezampro.yu.



+2 Profil

icon Re: Kreiranje EventHandlera za korisnicki definisanu klasu!27.05.2007. u 13:32 - pre 206 meseci
U konstruktoru svoje klase staviš
Code:

this.place.MouseClick += new System.Windows.Forms.MouseEventHandler(this.place_MouseClick);

I onda negde u klasi realizuješ sledeći event
Code:

private void place_MouseClick(object sender, MouseEventArgs e)
{

}

77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

deki_inf
Beograd

Član broj: 115871
Poruke: 39
212.62.53.*



Profil

icon Re: Kreiranje EventHandlera za korisnicki definisanu klasu!27.05.2007. u 16:11 - pre 206 meseci

Hvala puno!!!!Da,tacno u konstruktoru moje klase je trebalo samo staviti :t
his.place.MouseUp += new System.Windows.Forms.MouseEventHandler(this.place_MouseUp);

Ovo u sustini pravi za privatan clan moje klase eventhandler sto i treba da uradi jer taj Panel ima tu funkciju!Bravo!!!Hvala!

Ali ostao mi je jedan problem a to je da funkciju public void place_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) moram da definisem u fajlu Form1.cs jer ona koristi neke elemente koji su vezani za Formu a ne za moju klasu!

Kako bi to moglio da se uradi?Mozda preko arugemanata tipa sender?!

Hvala unapred ))
I sa ovim zavrsavam ja se nadam...
Hvala veliko jos jednom
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.dsl.siol.net.



+1 Profil

icon Re: Kreiranje EventHandlera za korisnicki definisanu klasu!27.05.2007. u 18:40 - pre 206 meseci
Implementiraj onda hendler u samoj formi Form1 a ne u klasi Field, ili prosledi formu klasi Field preko konstruktora, property-a ili sl.
 
Odgovor na temu

deki_inf
Beograd

Član broj: 115871
Poruke: 39
212.62.53.*



Profil

icon Re: Kreiranje EventHandlera za korisnicki definisanu klasu!27.05.2007. u 20:59 - pre 206 meseci

Pokusao sam da implementiram hendler u Form1.cs ali on ne vidi!!!!

Dakle ovako:Imam fajle Form1.cs i fajl Field.cs i jos druge koji trenutno nisu bitni.

U Field.cs imam funkcije koje koriste samo podatke iz te klase (tipa get i set,konstruktor...) a u Form1.cs imam nekoliko objekata klase Field kao privatni podaci clanovi!Sada sam mislio da mogu samo da definisem funkciju :

public void field_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{......

u fajlu Form1.cs koja ce da radi sa tim,vec instanciranim objektima te klase Field jer se oni vide u tom fajlu a samim tim i u funkciji!Ali ne moze!U klase Field(u fajlu Field.cs) imam u konstruktoru ono sto je rekao Pharos ( this.place.MouseClick += new System.Windows.Forms.MouseEventHandler(this.place_MouseClick); ) ali ne mogu da tu funkciju definisem mimo tog fajla jer se ne vidi!!!Kada u tom fajlu (Field.cs) definisem ono radi ali ne znam kako da sad tamo vidim one privatne clanove Form1,instance klase Field!!!E to mi je problem ceo!!!
Ako to uradim,sve ostalo radi kako treba!

Hvala
 
Odgovor na temu

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
*.adsl-1.sezampro.yu.



+2 Profil

icon Re: Kreiranje EventHandlera za korisnicki definisanu klasu!28.05.2007. u 02:46 - pre 206 meseci
Pogledaj malo delegate i evente i kako se prave event driven aplikacije.
Nije to neka nauka, a dosta će ti pomoći. Ne daješ dovoljno informacija, pa je bzvz da ti pišem bilo kakve primere.
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

[es] :: .NET :: Kreiranje EventHandlera za korisnicki definisanu klasu!

[ Pregleda: 1848 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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