Creare Videogiochi - Game Developer
[VB.NET] Intercettare la pressione di un tasto - Versione stampabile

+- Creare Videogiochi - Game Developer (http://www.making-videogames.net/giochi)
+-- Forum: Programmazione (http://www.making-videogames.net/giochi/Forum-Programmazione)
+--- Forum: Visual Basic, Visual Basic.Net (http://www.making-videogames.net/giochi/Forum-Visual-Basic-Visual-Basic-Net)
+--- Discussione: [VB.NET] Intercettare la pressione di un tasto (/thread-VB-NET-Intercettare-la-pressione-di-un-tasto)



[VB.NET] Intercettare la pressione di un tasto - MickeyCrashRayman - 17-08-2012

Come faccio a intercettare la pressione di un tasto freccia per compiere un'azione?


RE: [VB.NET] Intercettare la pressione di un tasto - alessiobb3b - 17-08-2012

Puoi spiegarti meglio?


RE: [VB.NET] Intercettare la pressione di un tasto - MickeyCrashRayman - 19-08-2012

Allora avevo intenzione di un creare un giochino, per muovere una picturebox avevo intenzione di usare l'evento Key_Press del form.
Scartabellando un po' l'IntelliSense ho scoperto la funzione Me.IsInputKey() dove dentro le parentesi dovevo inserire il tasto che mi serviva.
Ho provato ad utilizzare una dichiarazione If o un ciclo Do per muovere la picturebox in base alla funzione IsIhnputKey, ma la picturebox non si muove.


RE: [VB.NET] Intercettare la pressione di un tasto - Booob - 19-08-2012

(19-08-2012, 05:05 PM)MickeyCrashRayman Ha scritto: Allora avevo intenzione di un creare un giochino, per muovere una picturebox avevo intenzione di usare l'evento Key_Press del form.
Scartabellando un po' l'IntelliSense ho scoperto la funzione Me.IsInputKey() dove dentro le parentesi dovevo inserire il tasto che mi serviva.
Ho provato ad utilizzare una dichiarazione If o un ciclo Do per muovere la picturebox in base alla funzione IsIhnputKey, ma la picturebox non si muove.

Non funziona semplicemente perchè:
Citazione:Chiamare il metodo IsInputKey per determinare se il tasto specificato dal parametro keyData è un tasto di input accettato dal controllo. Questo metodo viene chiamato durante la pre-elaborazione dei messaggi per finestre per determinare se il tasto di input specificato deve essere pre-elaborato o inviato direttamente al controllo. Se il metodo IsInputKey restituisce true, il tasto specificato viene inviato direttamente al controllo. Se il metodo IsInputKey restituisce false, il tasto specificato viene pre-elaborato e inviato al controllo solo se non è utilizzato nella fase di pre-elaborazione. I tasti pre-elaborati sono i tasti TAB, INVIO, ESC e i tasti freccia SU, freccia GIÙ, freccia SINISTRA e freccia DESTRA.

Quindi non è quello che serve a te, devi utilizzare l'evento KeyDown o KeyPress


RE: [VB.NET] Intercettare la pressione di un tasto - MickeyCrashRayman - 19-08-2012

Si, ma come faccio a fare in modo che il tasto che mi dia un particolare risultato sia solo uno? Con l'evento KeyPress mi da lo stesso risultato con tutti i tasti.
Tutto a posto, ho visto nella guida msdn e ho risolto. Appena possibile metterò un tutorial.


RE: [VB.NET] Intercettare la pressione di un tasto - BassMonsterZ - 30-08-2012

devi leggere che tasto è stato premuto... ci sono vari modi, uno di questi è il seguente:

if(e.keycode == keycode.arrowup)

o qualcosa del genere.

la variabile 'e' corrisponde al valore del KeyEventArg


RE: [VB.NET] Intercettare la pressione di un tasto - MickeyCrashRayman - 30-08-2012

(30-08-2012, 11:32 AM)BassMonsterZ Ha scritto: devi leggere che tasto è stato premuto... ci sono vari modi, uno di questi è il seguente:

if(e.keycode == keycode.arrowup)

o qualcosa del genere.

la variabile 'e' corrisponde al valore del KeyEventArg

Tranquillo, ho già risolto.