No tak to zkusím ještě jednou!
protected override void OnKeyDown(KeyEventArgs e)
{
Text = e.KeyData.ToString();
}
Takže jestli to dobře chápu, tak abych mohl do záhlavý okna/nebo někam jinam (jen pro ukázku) vypsat kód klávesy, tak musím použít nejdříve to: KeyEventArgs e což mi vlastně zjistí, jaká klávesa byla stisknuta. Je to tak?
To object sender mi vlastně říká, jaký objekt událost vyvolat že? Proč tedy v tomto kódu není (nahoře v tomto příspěvku)?
Kdybych ale dal:
cntl.KeyDown += new KeyEventHandler(MujKeyDownHandler);
void MujKeyDownHandler(object sender, KeyEventArgs e)
{
// Kód pro zpracování události KeyDown
}
Teď už by tam byl...takže pokud nejdříve deklaruju objekt, na který chci navázat událostí, tak musím použít poté to object sender?
Když ale přepisuju metodu (první kód tohoto příspšvku), tak to tam už není. To proto, že předtím nedeklaruju objekt? Takže vlastně by tu událost mohl vyvolat kdokoli (jiný objekt) - protože neříkám, že jenom tento.
Mám pravdu?