FocusKeyMove




If KeyCode = 38 Then
'Se il controllo attivo e' una classe TextBox...

If TypeOf ActiveControl Is TextBox Then
'...allora passo il focus al controllo precedente

SendKeys "+{TAB}"
'Azzero il KeyCode

KeyCode = 0
End If
'Tasto freccia UP

ElseIf KeyCode = 40 Then
'Se il controllo attivo e' una classe TextBox...

If TypeOf ActiveControl Is TextBox Then
'...allora passo il focus al controllo successivo

SendKeys "{TAB}"
'Azzero il KeyCode

KeyCode = 0
End If
End If
Con quasi tutti i controlli presenti in VB, e' possibile
spostare il focus al controllo successivo o precedente
utilizzando i tasti freccia UP e DOWN. Nel controllo TextBox
questo non avviene, in quanto la pressione di uno di questi
due tasti provoca semplicemente lo spostamento del Caret tra
i caratteri della stringa presente nel controllo. Tale
funzionalita' e' pero' gia' implementata con i tasti freccia
LEFT e RIGHT; quindi, tramite un piccolo trucco, possiamo
convertire la funzionalita' dei tasti UP e DOWN in modo da
utilizzarli per lo spostamento del focus:
Settare la proprieta' KeyPreview del Form su True
Inserire il seguente codice nell'evento KeyDown del Form
Tasto freccia DOWN










( focuskeymove.html )- by Paolo Puglisi - Modifica del 17/12/2023