Avatar billede cordion Nybegynder
20. november 2009 - 14:07 Der er 7 kommentarer og
1 løsning

usynlig control til windows forms (C#)

jeg sidder med et lille problem, som jeg ikke lige kan finde ud af.
jeg har en class, som kun har en enkelt "public void" metode som tager et char argument.
den skal jeg så implementere i windows.forms. Dvs jeg har en GUI som som den skal implementeres i.
men den skal implementeres sådan, at alle key events bliver send til til min public void metode(char input).
men der skal ikke være noget synlig på min windows form, som ie. textbox, textlabel osv

hvis jeg ikke er tydelig nok, så sig til
Avatar billede bitmatic Nybegynder
20. november 2009 - 14:49 #1
til
Avatar billede bitmatic Nybegynder
20. november 2009 - 14:52 #2
Din hovedform har en property der hedder KeyPreview. Hvis du sætter den til true vil alle key events blive sendt til formen først.

Du kan så derfra sende dem videre til din klasse/metode.
Avatar billede cordion Nybegynder
23. november 2009 - 10:04 #3
undskyld den sene respons, men...
kan det ikke passe at når jeg så indsætter en button, checkBox eller noget lignende, så vil den previewKeyDown mist focus og ikke virke.

jeg vil gerne kunne fange alle key events what so ever
Avatar billede bitmatic Nybegynder
23. november 2009 - 10:13 #4
Hvis du sætter KeyPreview = true på din hovedform, så vil du fange alle keyevents på formen (og alle dens child controls).
Avatar billede cordion Nybegynder
23. november 2009 - 11:14 #5
damn... det virker sku...
skulle så lige have en e.SuppressKeyPress = true; til at fungere præcis som jeg ville
takker... smid svar
Avatar billede bitmatic Nybegynder
23. november 2009 - 12:20 #6
ok :)
Avatar billede cordion Nybegynder
23. november 2009 - 12:40 #7
hmm... den kan ikke fange return event :(
har du en løsning på det?

du skal dog stadig få dine points, om du ikke har
Avatar billede cordion Nybegynder
23. november 2009 - 12:50 #8
nåh... fandt ud af det



        private void DebugForm_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyData == Keys.Enter)
                e.IsInputKey = true;
        }
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

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