Avatar billede the_party_dog Nybegynder
22. november 2004 - 09:41 Der er 9 kommentarer og
1 løsning

Button_click kan man dynamisk klikke på en knap?

Jeg har 2 knapper, kan jeg ved at klikke på den ene knap, dynamisk klikke på den anden knap igennem koden?

private void button2_Click(object sender, System.EventArgs e)
        {
button1_Click()//Det virker logisk for mig, men det virker ikke.
}

Man kan gøre dette i Delphi, og mener at have set det i gamle vb ting også. Kan man overhovedet dette i C#?
Avatar billede aaberg Nybegynder
22. november 2004 - 09:44 #1
Så vidt jeg husker er det sådan her:

private void button2_Click(object sender, System.EventArgs e)

{
  button1_Click(null, null)
}
Avatar billede kalp Novice
22. november 2004 - 09:48 #2
Har sjovt nok lige brugt denne funktion i Java i går... og der skrev jeg også bare
Button1.click()
Avatar billede the_party_dog Nybegynder
22. november 2004 - 09:51 #3
Aaberg80> Du er min nye mini gud, arne_v er stadigvæk konge guden...

Smid et svar, og du får endnu en gang points! ;)
Avatar billede aaberg Nybegynder
22. november 2004 - 09:52 #4
thanx. Jeg gør mit bedste!. :-)
Avatar billede lifo Nybegynder
22. november 2004 - 12:34 #5
button2.PerformClick(); er nok lidt smukkerer (og måske ligt mere rigtigt)
Avatar billede the_party_dog Nybegynder
22. november 2004 - 12:36 #6
lifo> Det har du så ret i, men man tager jo hvad man kan få i starten ;) Begge dele virker, men som du siger, måske er dit forslag mest korrekt... :)
Avatar billede aaberg Nybegynder
22. november 2004 - 12:45 #7
Det kommer an på, hvad man skal lave. Hvis man har event metoder til sin knap, som ikke lige er standart "click" eventet, kan man ikke gøre det på anden måde end den jeg skrev. Dette kan f.eks. være, hvis man har et event til når musen er oven på knappen.

Dette er dog et spørgsmål om smag og behag. button2.PerformClick() gør nøjagtig det samme som button2(null, null). Jeg kan bedst lide at gøre det på den sidste måde, da jeg føler jeg har bedre kontrol over, hvad der sker i min kode.
Avatar billede the_party_dog Nybegynder
22. november 2004 - 12:47 #8
Uden at lyde som en røvslikker, vil jeg ligge mig op til aaberg80's argumentation....

Men igen, det kommer helt an på hvad man vil opnå... Jeg kom derhen hvor jeg ville, og det skal aaberg80 have stor tak for... :)
Avatar billede lifo Nybegynder
22. november 2004 - 15:17 #9
jeg er ikke helt enig med at button2_Click(null,null) gør det samme som button2.PerformeClick();

når du kander med button2_Click(null,null)
er dit sender og e objecter sat til null
og så kan du ikke bruge dem
der er de ikke om du bruger PerformeClick 
da er de sat til det samme som om du trykkede på kanppen

jeg tænker foreksempel på om man har en menu hvor man har flere knapper 
og kun en metode til at håntere deres klik som måske kigger efter knappens tekst eller tag

så kan man ikke bruge din version
Avatar billede aaberg Nybegynder
22. november 2004 - 15:22 #10
Så kan man sende noget andet end 'null' med. Som jeg sagde, det er en smagsag. Men jeg giver dig ret, i det tilfælde du nævner, er det nemmer at bruge performClick metoden.
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