Avatar
Jakub Lásko[Saarix]:

Zdravím, o eventech toho vím zatím docela málo, ale nyní jsem narazil na případ, kdy bych je docela rád použil, ale nevím teď jak dále.

public event EventHandler Click, MouseClick;

            if (ks.IsKeyDown(Keys.Enter))
            {
                if (Click != null)
                    Click(this, new EventArgs());
            }

            if (ms.LeftButton == ButtonState.Pressed)
            {
                if (MouseClick != null)
                    MouseClick(this, new EventArgs());
            }

Takto mám zhruba zkonstruovaný Eventy ve třídě Button (je to spíše ilustrativně), ale problém je teď, že v jiné třídě mám List<Button> a potřebuji po projetí listu zjistit zda se u daného Buttonu nenaplnil jeden z těch eventů, ale vůbec nevím jak se to dá zjistit. Díky :-)

Editováno 18.11.2013 19:41
Odpovědět 18.11.2013 19:40
Časem je vše možné.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Jakub Lásko[Saarix]
Petr Nymsa:

Můžeš to udělat několika způsoby.

  1. Každému buttonu přiřadíš jinou metodu k eventu
  2. lepší varianta (tedy podle mě). každému eventu přiřadíš stejnou metodu a vní rozeznáš podle třeba Tagu nebo něčeho jiného o jaký btn se jedná.

3)Teď mě napadá, šlo by možná udělat ještě aby jsi buttonům přiřadil delegát a jenom by jsi při zavolání eventu zavoval přiřazené metody v buttonu. Odpadla by tím detekce o jaký button se jedná.

Nahoru Odpovědět  +1 18.11.2013 19:55
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Petr Nymsa
Jakub Lásko[Saarix]:

Paráda, asi kvůli mému specifickému řešení zvolím druhou možnost, ale díky moc za rychlou a jasnou odpověď :-)

Nahoru Odpovědět 18.11.2013 20:13
Časem je vše možné.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.