Sziasztok!
Egy kis segitsegre lenne szuksegem C#-ban, sok nyomogombot es van hozza a button_Click fuggveny, a problemam az lenne, hogy hogyan tudom a button_Click fuggveny megallapitani, hogy a tomb[x,y] melyik x es y ertekenel vagyok?
Button[,] tomb;
Int32 meret = 10;
for (int x = 0; x < meret; ++x)
{
for (int y = 0; y < meret; ++y)
{
this.gomb = new Button();
gomb.Text = Convert.ToString(y * 10 + x);
this.gomb.Location = new System.Drawing.Point(x * 30, y * 30);
this.Controls.Add(this.gomb);
gomb.Size = new System.Drawing.Size(30, 30);
gomb.Tag = Convert.ToString(y * 10 + x);
gomb.Click += new System.EventHandler(this.button_Click);
tomb[x,y] = gomb;
}
}
private void button_Click(Object sender, EventArgs e)
{
Button bt = (Button) sender;
}
Koszonom,
bzg
- 2528 megtekintés
Hozzászólások
pl, a gomb.Tag -ba hozzá tudsz rendelni egy ID-t, amit az eventben megnézel, és az alapján azonositod, hogy melyik gombról van szó.
- A hozzászóláshoz be kell jelentkezni
gomb.Tag = Convert.ToString(y * 10 + x);
En mondjuk nem
string
-et pakolnek a Tag-be, elvegre a poziciot ugyis fel akarod hasznalni joesellyel, igy minek oda-vissza konvertalgatni?
Pl. ha fixen 2D-s a feleptes, akkor ott a
Point
.
------------------------------------------------------
Ezt ne nezd meg!
- A hozzászóláshoz be kell jelentkezni
Igen, ezt a sort pl nem is láttam, az éjji homályban:)
hát, a point helyett inkább valami saját id osztályt vagy akármit, persze akár pont a point is lehet, de az kicsit "fura" ilyenre...
Üdv
- A hozzászóláshoz be kell jelentkezni
Annyira azert nem fura, elvegre neki az x es y koordinatak kellenek, ez meg vegulis pont erre valo. Mas kerdes, hogy a System.Drawing
namespace valoban furcsanak tunhet ilyen szempontbol :)
------------------------------------------------------
Ezt ne nezd meg!
- A hozzászóláshoz be kell jelentkezni
ha az eventhandlerböl továbbhivsz még néhány függvénybe akkor ott (pl valami utility classban)
akkor az ott már igen furcsa System.Drawing.Point-al ...és a típusból nem látszik egyértelmüen, hogy az képkoordináta vagy most mi. Föleg ha a fent emlitett utility cuccot valaki más olvassa, és Point tipust lát egyböl képernyő pontra gondol... Szerintem nem célszerü itt újrahasznositani ezt a típust.
Továbbra is javaslom valami saját osztály vagy structot létrehozni, melynek már lehet szép (egyértelmü) nevet adni.
- A hozzászóláshoz be kell jelentkezni
Meggyoztel. Sajnos nem lattam tovabb a feladatnal, ugy sejtettem, hogy egy "egyosztalyos" kis szosszenet hazinak, annal meg majdnem tokmindegy.
------------------------------------------------------
Ezt ne nezd meg!
- A hozzászóláshoz be kell jelentkezni
egyosztályos szösszenetnél valóban mind1 :)
A kérdésből azonban nem derült ki, hogy jelen esetben "egyosztályos szösszenetről", avagy egy több millió soros enterprise applikációról van-e szó :)
- A hozzászóláshoz be kell jelentkezni
Hat nem tudom, en az egysoros szosszenetekre is igenyes vagyok. Inkabb egy ketelemu int[].
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Nekem igazából az int[]el is az a bajom, hogy nemlátszik egyből, hogy mi az, ha tovább van adva valahova.... pont ezért vannak típusok, hogy tudjuk minden ojjektumról, hogy mi az.
ennyi erővel lehetne minden byte[] :)
- A hozzászóláshoz be kell jelentkezni
Szerintem itt tevedes van. Nem csak az osztaly neve tud beszedes lenni, hanem a valtozoe is. Pl. egy int[] point rogton tudhato, hogy micsoda - csak konzekvens elnevezesi konvenciot kell hasznalni.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Én azt tartom szebb konvenciónak, hogy ha már a típus is megmondja, hogy az adott objektum az micsoda valójában...
...persze mindenki úgy használja ahogy jólesik, és/vagy ahogy a coding convention-je előírja:)
- A hozzászóláshoz be kell jelentkezni
csak nem eltés beadandó? amőba? lóugrás? :)
- A hozzászóláshoz be kell jelentkezni
koszonom a valaszokat, igy elsore kicsit magas volt amit irtatok, eppen ezert egy egyszu int-el oldottam meg az egeszet a Tabindex-ben es abbol kiszamoltam hogy hanyadik sor hanyadik gombrol van szo.
Egyebkent meg igen, ELTE, amoba csak nem tudtam az az utolso napom es ejszaka estem neki "megtanulni csharp-ul" :)
-- Soha ne vitatkozz idiotakkal! Lesulyedsz az O szintjukre es legyoznek a rutinjukkal !!! --
- A hozzászóláshoz be kell jelentkezni
Komoly a mintapélda.
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "use kocsma"; // azért kell kiadni, hogy azonosítható legyen, hogy melyik adatbázison dolgozunk
cmd.ExecuteNonQuery();
- A hozzászóláshoz be kell jelentkezni
majd szólok neki, hogy írjon oda mást, tényleg fura:D
off:
itt:
Ilyen is van, tehát nyugi. Egy kávé, egy cigi, és egy szanax segít.Meg talán egy reinstall.
ott ültem mellette, és nem akartuk elhinni, és aznap bejött még egy legalább ilyen marhaság. Hja, és nem dohányzik:D
- A hozzászóláshoz be kell jelentkezni