vb中要判断在文本框内是否按下了回车键,可以用文本框的什么事件过程

我选的是keydown 但是答案是change 为什么
2025-04-08 12:54:48
推荐回答(1个)
回答1:

事实上 KeyPress、KeyDown、KeyUp、Change这四种事件过程都可以判断是否按了回车键:

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then MsgBox "你按了回车键!"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then MsgBox "你按了回车键!"
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then MsgBox "你按了回车键!"
End Sub
Private Sub Text1_Change()
If Mid(Text1.Text, Text1.SelStart, 1) = vbLf Then MsgBox "你按了回车键!"
End Sub

相比较而言,用Change事件来实现是最笨、最不适合的方式,只能在多行文本框(MulitLine属性为True)使用,而且会出现误判的情况(自己试试就知道)。最佳方式是KeyPress,没有为什么,它就是最佳。