konto usunięte

Temat: Jak dodać zdarzenie "programistycznie"

mam kod w C#

for (int i = 1; i < 100; i++)
{ grubośćToolStripMenuItem.DropDownItems.Add(i.ToString());
}

i jak dodać teraz do każdego elementu "i" jakieś zdarzenie?

Temat: Jak dodać zdarzenie "programistycznie"

Rozumiem, że chodzi raczej o i-ty element pozycji menu, niż o i? :)

grubośćToolStripMenuItem.DropDownItems.Add(...) zwraca obiekt klasy ToolStripItem. Można go wykorzystać np. tak:

1.
grubośćToolStripMenuItem.DropDownItems.Add(i.ToString()).Click += delegate(object s, EventArgs ea)
{
//......
};


Proszę zwrócić uwagę, że zależnie od tego, w jakiej metodzie wywoływany jest ten kod, może zachodzić potrzeba zmiany nazw argumentów delegaty. Jeśli w metodzie, która obsługuje jakieś zdarzenie (np. jest "podpięta" pod przycisk) argumenty nazywają się "sender" i "e", to dla uniknięcia błędu należy je w delegacie zmienić, np. na "s" i "ea".

2.
grubośćToolStripMenuItem.DropDownItems.Add(i.ToString()).Click += new EventHandler(Class_Click);

...

void Class_Click(object sender, EventArgs e)
{
// ....
}
Adrian Olszewski edytował(a) ten post dnia 11.01.09 o godzinie 21:00

konto usunięte

Temat: Jak dodać zdarzenie "programistycznie"

Dziekuje, pomogło, każdy z podanych sposobów działa.



Wyślij zaproszenie do