Mi è capitata spesso la necessità di dover intercettare, in una textbox, la pressione di quei tasti che normalmente non possono restituire un codice ascii, come ad esempio i tasti funzione.
Tale operazione è abbastanza semplice facendo affidamento alla funzione GetAsyncKeyState della libreria user32.
Dichiariamo la funzione all’inizio del nostro modulo:
Private Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Keys) As Short
Adesso dobbiamo intercettare la pressione del nostro tasto speciale nella textbox, per far questo ricorriamo all’evento KeyUp del nostro controllo:
Private Sub txtText_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtText.KeyUp If GetAsyncKeyState(Keys.F12) Then ' qui immetto il codice che deve generare l'evento sulla pressione del tasto F12 End If End Sub
In questo esempio particolare ho intercettato la pressione del tasto F12, ma intercettare qualsiasi altro tasto è la cosa più semplice del mondo: l’enumerazione “Keys” ha già al suo interno tutti i tasti disponibili, basta scorrere l’elenco:

Come vedete ci sono tutti i tipi di tasti, compresi quelle delle tastiere multimediali come i controlli di volume.
Articoli che potrebbero interessarti
Se desiderate che settorezero continui a rimanere gratuito e fruibile da tutti, non copiate il nostro materiale e segnalateci se qualcuno lo fa

Questo sito e tutto il suo contenuto sono distribuiti sotto la licenza







