01. juni 2004 - 12:16Der er
6 kommentarer og 1 løsning
Event håndtering i en webform
Hej
Jeg har lidt problemer med event håndtering i en webform. Jeg vil gerne i metoden, InitializeComponent, finde ud af hvilken event der affyres.
F.eks.
(Undskyld syntaxen) private void InitializeComponent { this.button1.click += new eventhandler(this.button1_event); this.button2.click += new eventhandler(this.button2_event); //Er det muligt at tjekke om det er button3 der har affyret eventet uden at skulle tjekke dette i metoden button3_event? this.button3.click += new eventhandler(this.button3_event); this.button4.click += new eventhandler(this.button4_event); }
lizardine>> det kan du jo også, ved at tjekke i din eventhandleren !?!?! hvis det er fordi, at du vil nøjes med en enkelt eventhandler til mange knapper, så kan du sagtens gøre det:
private void InitializeComponent { this.button1.click += new eventhandler(this.button_event); this.button2.click += new eventhandler(this.button_event); //Er det muligt at tjekke om det er button3 der har affyret eventet uden at skulle tjekke dette i metoden button3_event? this.button3.click += new eventhandler(this.button_event); this.button4.click += new eventhandler(this.button_event); }
void button_event(object sender, EventArgs e) { Button b = (Button)sender;
cyberfessor >> Undskyld - jeg skulle have formuleret mig en smule bedre. Grunden til at jeg ønsker at tjekke hvilken event der skal kaldes, er at eventet ligger i en anden klasse. Klassen har ligeledes en række egenskaber som skal sættes, og det gør jeg i InitializeComponent. F.eks.
NyKlasse nk = new NuKlasse();
private void InitializeComponent { NyKlasse.Navn = "Dette er et kald" this.button1.click += new eventhandler(NyKlasse.KaldEvent);
NyKlasse.Navn = "Dette er et andet kald" this.button2.click += new eventhandler(NyKlasse.KaldEvent);
NyKlasse.Navn = "Navn på et kald" this.button3.click += new eventhandler(NyKlasse.KaldEvent);
NyKlasse.Navn = "La La La" this.button4.click += new eventhandler(NyKlasse.KaldEvent); }
Problemet er at hvis jeg fyre button2 eventet af, får jeg det forkerte Navn med.
cyberfessor >> I min applikation har jeg en række generelle metoder jeg benytter i forbindelse med events på mine kontroller. I stedet for at jeg har de samme event kontroller liggende i alle mine webforms, har jeg valgt at lægge de generelle metoder i en klasse for sig, som jeg så kan kalde i forbindelse med de forskellige kontrolevents.
og hvad er problemet med at du har en generel eventhandler som alle dine knapper kalder?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.