Avatar billede koppelgaard Praktikant
18. september 2007 - 08:18 Der er 11 kommentarer og
1 løsning

press key event i en form

Hej alle
I en aktive form vil jeg gerne sætte en procedure i gang ved trykke på en key. Det kunne feks være F12 eller et bogstav.
Ligenu  bruger jeg en knap.
Desværre afvikles eventen ikke selvom jeg hamre løs på tasturet med begge næver.
NB jeg har indsat kode for event.
Er der en, der kan give et tip, mens mit tastatur stadig er i et stykke ?
Avatar billede nielle Nybegynder
18. september 2007 - 08:32 #1
Sådan?

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F12)
                MessageBox.Show("F12 trykket");
        }
Avatar billede sherlock Nybegynder
18. september 2007 - 08:41 #2
property KeyPreview = true på din form.
Avatar billede koppelgaard Praktikant
18. september 2007 - 10:31 #3
property KeyPreview = true på din form.

yes!!
Der var den!
Det viste jeg ikke.
Sender du et svar sherlock
Avatar billede sherlock Nybegynder
18. september 2007 - 10:33 #4
Yes :)
Avatar billede koppelgaard Praktikant
18. september 2007 - 21:44 #5
Der var jeg nok lidt for hurtig.
Keypress afvikles, hvis der trykkes på tegn og når KeyPreview = true.
Men koden køres ikke ved funktionstaster.
Her må det være keydown, der skal bruges.
Men den kører ikke selvom KeyPreview er sat til true.

Hvad mangler jeg ?
Avatar billede nielle Nybegynder
19. september 2007 - 18:18 #6
Jeg ved at 18/09-2007 08:32:28 fungere for funktions-taster. Godt nok kun prøvet for en helt ren form, hvilket du sikkert ikke har. Kunne du give lidt mere information - f.eks. en indikation af hvad det er som har sat KeyDown ud af funktion i dit tilfælde?
Avatar billede sherlock Nybegynder
20. september 2007 - 00:03 #7
Jeg lavede et eksempel med en knap og en label + nielles kode (Keydown).
Og det virkede med KeyPreview = true og ikke med KeyPreview = false.
Avatar billede koppelgaard Praktikant
20. september 2007 - 10:45 #8
Tak begge.
Nu er jeg blevet lidt klogere.
18/09-2007 08:32:28 fungere for en ren form men så efter indsættelse af knap duer det ikke.
Det må være fordi formen ikke længere har fokus.
Avatar billede koppelgaard Praktikant
20. september 2007 - 10:48 #9
Så nu har jeg prøvet at tilføje eventen til en knappen og så duer det.
Eventen skal altså tilføjes til alle tænkelig controls, som kan tænkes af få fokus hvis man altid vil gøre en bestemt ting ved tryk på F12 - har jeg ikke ret?
Avatar billede sherlock Nybegynder
20. september 2007 - 10:58 #10
Uhh. nej :)

KeyPreview = true betyder netop at formen for lov til at se key-events inden de sendes til kontrollerne. Så du skal kun lave den på formen.
Du skal åbenbart bruge KeyDown eller KeyUp og ikke KeyPress. Jeg kan ikke teste det her hvor jeg sidder nu.
Avatar billede koppelgaard Praktikant
20. september 2007 - 11:30 #11
Jeg må have fjumret, hvis du forstår, hvad jeg mener
Nu virker også keydown, når jeg sætter KeyPreview = true

1000 tak
Avatar billede koppelgaard Praktikant
20. september 2007 - 15:13 #12
Jeg har lige sendt lidt karma til jeg begge.

Michael
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

IT-JOB