我在程序中设置了用Enter键代替Tab键,代码如下:
KeyPreview = True
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If
End Sub
运行中一切正常,只是一旦遇到DTPicker控件,焦点就赖在上面不走了,可如果按Tab键焦点就可以移到下一个控件。怎么回事?如何解决呢?
可能是因为DTPicker控件和CommandButton控件一样都是经过子类处理的Windows控件,所以Enter键的消息被作为一个加速键绕过了vb而被直接传递到其超类去了。
用keydown事件就可以了。