C# Button[,]

Fórumok

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

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ó.

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!

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.

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.

csak nem eltés beadandó? amőba? lóugrás? :)

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 !!! --

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