我正在尝试检测用户何时按下文本框中的某些键,然后我想根据其按键增加或减少文本中的值,并取消他们按下的键。取消部分无效。如果我想取消他们的按键,我习惯于只放入KeyCode = 0,就像我在MS Access中那样。但是,这在VB6中对我不起作用。加号进入文本框。
有什么建议吗?
答案 0 :(得分:7)
我会说忽略KeyDown
事件并使用KeyPress
事件:
Private Sub RTB_KeyPress(KeyAscii As Integer)
' "Cancel" the keystroke
KeyAscii = 0
End Sub
执行您正在执行的操作的最佳方法是将表单的KeyPreview
属性设置为True
,然后为表单的KeyPress
事件添加处理程序 - 这意味着表单首先有机会处理任何击键。通过在此处理并按上述方式取消,您可以根据需要更改文本框中的文本。
我在职业生涯的前10年使用了Visual Basic,但我不得不谷歌上面的代码。我建议至少转向VB.NET - 有时甚至可以将VB6项目导入.NET(有时)。
答案 1 :(得分:-1)
私有子Text1_KeyUp(键代码为MSForms.ReturnInteger,Shift为整数) 如果KeyCode = 27,则 '条件 万一 结束