Originariamente inviato da angelicab
a me servirebbe controllare se viene premuto il tasto TAB...
il tasto tab è purtroppo una cosa che va aldisopra delle possibilità di vb ma si può porre rimedio

codice:
Public Enum KeyTab
    NoTabPress = 0
    OnlyTab = 1
    ShiftTab = 2
End Enum

Private Declare Function GetKeyState Lib "user32" _
 (ByVal nVirtKey As Long) As Integer

Public Function CheckKeyTab() As KeyTab

Dim retval As Integer

    retval = GetKeyState(vbKeyTab)
    If retval < 0 Then
        retval = GetKeyState(vbKeyShift)
        If retval < 0 Then
            CheckKeyTab = ShiftTab
        Else
            CheckKeyTab = OnlyTab
        End If
    End If
       
End Function
nell' evento lostfocus del controllo

codice:
    Dim TTab As KeyTab
    TTab = CheckKeyTab
        
    Select Case TTab
        Case Is = NoTabPress
            'perso il fuoco per altri motivi
        Case Is = OnlyTab
            'premuto tab
        Case Is = ShiftTab
            'premuto ShiftTab
    End Select