我是VB的新手,但现在正在开发一个VB项目。 我遇到了一个关于Shift-Tab的奇怪问题。
Tab键顺序是正确的,它将通过表格末尾的Accept and Cancel按钮的所有文本框,复选框等,然后循环回到表单的开头。
但是,如果使用Shift-Tab,它将跳过“接受”和“取消”按钮。它适用于所有其他控件。
Tab指数对我来说似乎是正确的。
有没有人知道可能是什么原因?我在我的智慧结束,所以任何帮助将不胜感激。
答案 0 :(得分:1)
检查EnterFocus
此事件的UserControl
事件中的 Shift + 标签
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal VKey As Long) As Integer
Public Function IsKeyPressed(ByVal lVirtKey As KeyCodeConstants) As Boolean
IsKeyPressed = ((GetAsyncKeyState(lVirtKey) And &H8000) = &H8000)
End Function
Private Sub UserControl_EnterFocus()
If IsKeyPressed(vbKeyTab) And IsKeyPressed(vbKeyShift) Then
cmdCancel.SetFocus
End If
End Sub