Avatar billede nielsenmathias Nybegynder
24. oktober 2006 - 12:37 Der er 4 kommentarer og
1 løsning

Key event handler

Hejsa.

Jeg har lidt problemer med at fange input fra keyboardet.

Mit program består af en form med en tegneflade og et par knapper. Hvis jeg kun har den tomme form kan jeg uden problemer tilføje en key-event handler:

this.KeyDown += new KeyEventHandler(MyOnKeyDown);

protected void MyOnKeyDown(Object o, KeyEventArgs e)
{
          Console.WriteLine("Key pressed");
}

Denne virker og udskriver hver gang man trykker på keyboardet. Hvis jeg så adder et par knapper samt en tegneflade (DrawingCanvas), er det som om focus stjæles fra formen - der fanges i hvert fald ikke flere tastetryk. Min tegneflade er placeres i en klasse for sig.

Har nok noget med fokus at gøre, men jeg ville sætte pris på et vink i den rigtige retning.

På forhånd tak

Mathias
Avatar billede bulgroz Nybegynder
24. oktober 2006 - 12:56 #1
Prøv atv sætte KeyPreview til true på din form.

Det er den aktive kontrol som modtager keystrokes, men ved at sætte KeyPreview på formen kan du fange tastetrykkene
Avatar billede bulgroz Nybegynder
24. oktober 2006 - 12:57 #2
Med aktiv mener jeg naturligvis den kontrol som har focus
Avatar billede nielsenmathias Nybegynder
24. oktober 2006 - 15:52 #3
KeyPreview virkede perfekt :)

stik mig et svar så sender jeg lidt point
Avatar billede nielsenmathias Nybegynder
24. oktober 2006 - 15:52 #4
og mange tak for hjælpen. det var et iriterrende lille problem
Avatar billede bulgroz Nybegynder
24. oktober 2006 - 17:50 #5
Helt ok.
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