我想使用相同的代码:
Private Sub Text_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode >= 48 And KeyCode <= 57 Then
'allow
Else
If KeyCode >= 96 And KeyCode <= 105 Then
'allow
Else
If KeyCode = 8 Or KeyCode = 9 Or KeyCode = 13 Or KeyCode = 27 Or KeyCode = 46 Then
'allow
Else: KeyCode = 0
End If
End If
End If
End Sub
在以多种形式存在的多个文本框中,而我又不想重复相同的代码,我该如何实现呢?先感谢您
正如@Ryan建议的那样-使用一个函数。
将此功能添加到普通模块中:
Public Function AllowKeyCode(KeyCode As Integer, Shift As Integer) As Integer
Select Case KeyCode
Case 48 To 57, 96 To 105, 8, 9, 13, 27, 46
AllowKeyCode = KeyCode
Case Else
AllowKeyCode = 0
End Select
End Function
使用此代码进行keydown事件:
Private Sub Text0_KeyDown(KeyCode As Integer, Shift As Integer)
KeyCode = AllowKeyCode(KeyCode, Shift)
End Sub
编辑:您可能要更改功能,以考虑到Shift键(停止!,“,£等):
Public Function AllowKeyCode(KeyCode As Integer, Shift As Integer) As Long
If Shift = 0 Then
Select Case KeyCode
Case 48 To 57, 96 To 105, 8, 9, 13, 27, 46
AllowKeyCode = KeyCode
Case Else
AllowKeyCode = 0
End Select
Else
AllowKeyCode = 0
End If
End Function
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句