Avatar billede tdh1309 Juniormester
02. november 2009 - 21:07 Der er 5 kommentarer og
1 løsning

Generisk håndtering af events, håndter ift. kaldende element - WindowsFormApplication

Hej

Når der sker en event på et givent felt burde man vil kunne lave en generel håndtering!

Hvor eks. jeg eks. kan ændre farve når der klikkes på et felt!

Jeg vil mene at nedenstående skulle klare det (men det gør det ikke).

private void mitFelt(object sender, EventArgs e)
{
  sender.BackColor = System.Drawing.Color.WhiteSmoke;
}

Logikken må jeg være at "sender" ikke er en reference til det felt eventen kommer fra!

Tillægsspørgsmål: hvad kan jeg bruge "sender" til?
Avatar billede Red0z Nybegynder
02. november 2009 - 22:51 #1
Skal dette være så at du kan bruge den samme method til flere forskellige knapper f.eks ?
ellers kan du jo selvfølgelig bare

private void mitFelt(object sender, EventArgs e)
{
  'object.BackColor = System.Drawing.Color.WhiteSmoke;
}
Avatar billede tdh1309 Juniormester
02. november 2009 - 23:02 #2
Ideen et at have en metode jeg kan kalde fra forskellige felter, istedet for at skulle implementere x-antal ens metoder!
Avatar billede Syska Mester
02. november 2009 - 23:26 #3
sender er objecter der smed den Event.

så du brude kunne gøre noget ala:
((Control)sender).BackColor = Color.WhiteSmoke;

Men du skal bare være sikker på at de har den samme base class.

( ved ikke om Control har BackColor men mener det )

mvh
Avatar billede tdh1309 Juniormester
02. november 2009 - 23:35 #4
Det vil jeg arbejde videre med!
Tak for forslaget - kom med et svar!
Avatar billede Syska Mester
02. november 2009 - 23:47 #5
men virker det ?

sender er altid det object som smider eventen ... så der kan laves mange ting der ... du kan jo også caste til en specifik type ...



Button b = sender as Button;
if(b != null)
{
// okay, så det er en button.
}

if(sender is Button) // er dog hurtigere, uden at vide hvor meget vi snakker om her, så er det 2 gode kommenadoer at kende.

og svar.
Avatar billede tdh1309 Juniormester
03. november 2009 - 09:51 #6
Hej Buzzzz
Det virker lige præcist som jeg havde ønsket/ forventet :-)
Super godt - mange tak for det gode svar :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester