Kezdőoldal » Számítástechnika » Programozás » Hogy kell metódust meghívni?...

Hogy kell metódust meghívni? (C#) SÜRGŐS

Figyelt kérdés

Csináltam egy timer_tick metódust amit egy picturebox_Click metóduban szeretnék meghívni.

valahogy így nézne ki, hogy:

timer1_Tick(); A zárojelekbe valami argoments kellene de nem tudom mi. :S

a kód ez:


public void timer1_Tick(object sender, EventArgs e)

{

veletlen=szam.Next(1, 9);

if (veletlen == 1)

{

egy2.Visible = true;

}

else egy2.Visible = false;

if (veletlen == 2)

{

ketto2.Visible = true;

}

else ketto2.Visible = false;

if (veletlen == 3)

{

harom2.Visible = true;

}

else harom2.Visible = false;

if (veletlen == 4)

{

negy2.Visible = true;

}

else negy2.Visible = false;

if (veletlen == 5)

{

ot2.Visible = true;

}

else ot2.Visible = false;

if (veletlen == 6)

{

hat2.Visible = true;

}

else hat2.Visible = false;

if (veletlen == 7)

{

het2.Visible = true;

}

else het2.Visible = false;

if (veletlen == 8)

{

nyolc2.Visible = true;

}

else nyolc2.Visible = false;

if (veletlen == 9)

{

kilenc2.Visible = true;

}

else kilenc2.Visible = false;

}


private void egy2_Click(object sender, EventArgs e)

{

pontszam++;

timer1_Tick(); <--- Ide mi kéne a zárójelbe?

}


Köszönöm előre.


2011. szept. 10. 21:35
 1/6 anonim válasza:
Szerintem erre az oldalra nem regisztráltak olyan intelleginciájú emberek akik ezt tudnák.
2011. szept. 10. 21:45
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Mit azt, hogy milyen paraméter kellene a timer_tick metódus meghívásakor? lehet h elírtam alapból a meghívást, lévén sose csintem iet, de tuti van olyan aki tudná, hogy kell meghívni azért annyira csak nem nehéz kérdés
2011. szept. 10. 21:46
 3/6 anonim ***** válasza:

Minek akarod meghívni a picturebox-ból? Sejtésem szerint a timer1_tick egy Timer instance Tick event-jét kezeli.

Ergo a ha a timer-t elindítod(timer1.Start()), akkor a timer1_tick bizonyos időközönként magától lefut, amíg nem mondod azt, hogy timer1.Stop().


Ha mégis meg akarod hívni picturebox-ból, akkor pedig kb. mindegy, hogy milyen paramétert adsz át neki.

Pl timer1_tick(null, EventArgs.Empty).


Egyébként az ilyen szignatúrájú függvények a .NET-es standard eseménykezelői. Van is egy ilyen beéíptett delegate, hogy EventHandler.

A sender nevű object az, aki küldi az event-et(azaz pontosan az az objektum, aki meghívta a függvényt), az 'e' nevű Eventargs-ban meg az esemény paraméterei vannak. Mondjuk az EventArgs egy bázisosztály, tehát magában semmit nem tartalmaz, de pl. a TextBox-ok KeyDown event-je egy KeyPressedEventHandler típusú delegate,

és EventArgs helyett KeyPressEventArgs-ot kap.

2011. szept. 10. 22:32
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
próbáld a prog.hu -n ott tuti segitenek.
2011. szept. 10. 22:46
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

timer1_Tick(null, null);


Egyébként nagyon-nagyon nem szép dolog ilyet tenni, semmi ojjektorientáltság és struktúráltságot nem hordoz így magában, két mázsa szabályt megszeg.


Egyébként javallott kis regfaktoring: a timer_tick metódus tartalmát emeld ki egy külön függvénybe és ezt a fügvényt hívogasd a tick és a click függvényből.


Egyébként ha kérdezel fórumon, akkor illik kivágni a fölösleges kódot, ezzel megkönnyítendő a mások munkáját.

2011. szept. 13. 17:51
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
na csak hogy örülj: egy2_Click(null, EventArgs.Empty);
2011. szept. 13. 18:00
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!