当我的光标在我的文本框上并且我按下按钮“+”时,我的文本框的值必须增加 1
所以我尝试的是使用 MouseMove 但问题在于我无法使用函数 OnkeyPress 中的函数 KeyAscii
If KeyAscii = vbKeyL Then
Stock.Value = Stock.Value + 1
End If
如果您有任何想法,您可以自由发布!提前谢谢。
正确答案是:在表单中将 Key preview 设置为 Yes,启用文本框:False
而不是在 keyDown 事件中:
Select Case KeyCode
Case vbKeyAdd
Stock.Value = Stock.Value + 1
End Select
怎么样
if KeyAscii = vbKeyAdd Then // vb KeyAdd is the key code constant for the '+' key
Stock.Value = Stock.Value + 1
End If
尝试像这样声明它
Dim key as KeyAscii
然后像这样改变你的代码
Dim key as KeyAscii
if key = vbKeyAdd Then // vb KeyAdd is the key code constant for the '+' key
Stock.Value = Stock.Value + 1
End If
这是所有 vba 密钥代码的列表
http://msdn.microsoft.com/en-us/library/aa243025(v=vs.60).aspx
希望这可以帮助
您可以使用文本框的MouseMove事件和KeyPress事件来执行此操作。
使用MouseMove事件,您可以知道鼠标何时位于文本框上方。如果是,请将全局变量设置为 True,并在它离开时(当它到达文本框的边框时)将其设置为 False。
然后在表单KeyPress事件上,检查您的全局变量是否为真,如果是,则检查 KeyAscii 值。