Hola pues creo que lo puedes hacer con el evento keydown del formulario y poniendo la propiedad keypreview a true del mismo formulario.
EL SIGUIENTE EJEMPLO ES PARA SABER EL CODIGO DE LA TECLA PULSADA:
Coloca un label en el formulario y dentro del formulario copia y pega el siguiente codigo para que veas el ejemplo:
Cita: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Label1.AutoSize = True
Label1.Caption = "Codigo Tecla: " & KeyCode
End Sub
EL SIGUIENTE EJEMPLO ES PARA DETECTAR LA TECLA ESCAPE (CODIGO 27):
Coloca tambien un label dentro del formulario y el siguiente codigo:
Cita: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Label1.AutoSize = True
If KeyCode = 27 Then
Label1.Caption = "Has pulsado tecla escape"
Else
Exit Sub
End If
End Sub
bueno sabiendo los codigos de las teclas con el primer ejemplo puedes detectar las teclas pulsadas con el segundo ejemplo.
si cambias el codigo en el segundo ejemplo y pones que si el keycode es igual a 27 salga del sub , no hara nada al pulsar el escape.
If KeyCode = 27 Then
exit sub
Espero darte una idea.Salu2