楼主表达有歧义,是否这个效果?Private Sub Command1_Click() MsgBox "you are clicking command1" End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Command1_Click End Sub
如果是按钮的话,把其default=true就好了Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Command1_Click End Sub这个可行
你是下面的哪种意思呢 1、焦点转移 Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Command1.setfous End Sub 2、调用过程 Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Command1_Click End Sub
Option Explicit
Private Sub Command1_Click()
MsgBox "aaa"
End SubPrivate Sub Form_Load()
Me.KeyPreview = True
End Sub参看MSDN说明:
——————————————————————————————
KeyPreview 属性
返回或设置一个值,以决定是否在控件的键盘事件之前激活窗体的键盘事件。键盘事件为:KeyDown、KeyUp 和 KeyPress。语法object.KeyPreview [= boolean]KeyPreview 属性语法有以下组成部分:部分 描述
Object 对象表达式,其值是“应用于”列表中的一个对象。
Boolean 布尔表达式,指定如何接收事件。Setting 中有其说明。
设置值 boolean 的设置值为:设置值 描述
True 窗体先接收键盘事件,然后是活动控件接收事件。
False (缺省值)活动控件接收键盘事件,而窗体不接收。
说明可以用该属性,生成窗体的键盘处理程序,例如,应用程序利用功能键时,需要在窗体级处理击键,而不是为每个可以接收击键事件的控件编写程序。如果窗体中没有可见和有效的控件,它将自动接收所有键盘事件。若要在窗体级处理键盘事件、而不允许控件接收键盘事件时,在窗体的 KeyPress 事件中设置 KeyAscii 为 0,在窗体的 KeyDown 事件中设置 KeyCode 为 0。 注意 一些控件能够拦截键盘事件,以致窗体不能接收它们。这样的例子有:CommandButton 控件有焦点时的 ENTER 键、以及焦点在 ListBox 控件上时的方向键。
MsgBox "you are clicking command1"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Command1_Click
End Sub
If KeyCode = vbKeyReturn Then Command1_Click
End Sub这个可行
1、焦点转移
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Command1.setfous
End Sub
2、调用过程
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Command1_Click
End Sub