• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] Intercettare la pressione di un tasto
#1
Come faccio a intercettare la pressione di un tasto freccia per compiere un'azione?
 
Rispondi
#2
Puoi spiegarti meglio?
 
Rispondi
#3
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.
 
Rispondi
#4
(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
 
Rispondi
#5
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.
 
Rispondi
#6
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
 
Rispondi
#7
(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.
 
Rispondi
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Usare le DirectX 9 in Visual Basic.Net Riddick 29 14,603 08-03-2017, 09:33 PM
Ultimo messaggio: Chip
  VB.NET Nascondere applicazione dal mixer di sistema VORTEX 1 1,460 16-10-2013, 08:20 PM
Ultimo messaggio: alessiobb3b
  [Guida] Semplice Downloader con Progressbar Visual Basic.Net Express 2010 Riddick 16 8,658 29-01-2013, 12:45 AM
Ultimo messaggio: THB93
  [VB.net] Sprite in DirectX 9 VORTEX 4 1,936 03-12-2012, 08:37 PM
Ultimo messaggio: VORTEX
  Far comunicare VB e DB Jonathan Archer 47 3,496 17-01-2011, 12:08 AM
Ultimo messaggio: Sweet Vengeance
  [Guida] Semplice Radio in Visual Basic.Net Express 2010 Riddick 3 3,368 20-11-2010, 10:40 PM
Ultimo messaggio: GEARS_CORPORATION
  Radio v 1.4.1 fatta in Visual Basic.Net Riddick 3 1,166 08-05-2010, 09:18 PM
Ultimo messaggio: friskon

Vai al forum:


Browsing: 1 Ospite(i)