您好!麻烦帮我看下触发事件

mxmkeep 2008-12-21 03:12:14
您好!
我想在每个小textbox(如图)都写入如下代码:
Dim KeyAscii As Short = Asc(e.KeyChar)
If KeyAscii = 13 Then
SendKeys.Send("{TAB}")
End If
If In_Int(KeyAscii) = False Then
KeyAscii = 0
End If
e.KeyChar = Chr(KeyAscii)
If KeyAscii = 0 Then
e.Handled = True
End If


因为总共有30个textbox,一个个copy代码量太多?
请问是不是可以写个触发事件(因为我还是学生,还没写过类似的)
可以的话该怎么写?谢谢了!
...全文
57 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunxinyu 2008-12-21
  • 打赏
  • 举报
回复
建议用控件数组,简单,对你的应用也适合
yanlongwuhui 2008-12-21
  • 打赏
  • 举报
回复
参考如下:
Private Sub TextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress, TextBox2.KeyPress,TextBox3.KeyPress,....... 所有需要这段代码的TEXTBOX的KeyPress事件都写这里,中间逗号隔开
' 你的代码
End Sub
mxmkeep 2008-12-21
  • 打赏
  • 举报
回复
gba8jing,您好!
抱歉,我还没编写过类似的类,您能简单的写下么?
gba8jing 2008-12-21
  • 打赏
  • 举报
回复
写个 类 吧, 把 TEXTBOX 以对象 形式传递到类里的过程处理
mxmkeep 2008-12-21
  • 打赏
  • 举报
回复
忘记了,贴上In_Int函数代码:
' 只接受数字输入
Private Function In_Int(ByRef KeyAscii As Short) As Boolean
Dim i As Integer
Dim Ch_Accept_Int(20) As String ' 可以接受字符数组
Ch_Accept_Int(0) = "0"
Ch_Accept_Int(1) = "1"
Ch_Accept_Int(2) = "2"
Ch_Accept_Int(3) = "3"
Ch_Accept_Int(4) = "4"
Ch_Accept_Int(5) = "5"
Ch_Accept_Int(6) = "6"
Ch_Accept_Int(7) = "7"
Ch_Accept_Int(8) = "8"
Ch_Accept_Int(9) = "9"
Ch_Accept_Int(10) = Chr(8)

' 检查输入的字符是否在数组中
In_Int = False
For i = 0 To 10
If Chr(KeyAscii) = Ch_Accept_Int(i) Then
In_Int = True
End If
Next
End Function
mxmkeep 2008-12-21
  • 打赏
  • 举报
回复
等待中...
mxmkeep 2008-12-21
  • 打赏
  • 举报
回复
上面代码我是写在textbox的keypress事件中

16,720

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧