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); }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.