两个关于textbox数据验证的问题!

lingxiang 2003-09-11 11:54:39

(1)我写了一个控制用户输入的KeyPress事件,如下:
Private Sub txt_jungongnianfen_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_jungongnianfen.KeyPress
If e.KeyChar <> Chr(8) And (e.KeyChar < Chr(48) Or e.KeyChar > Chr(57)) Then
e.Handled = True
End If
End Sub

这个程序能控制用户只能输入数字或者小数,但发现如果切换到其他中文输入法后连中文都可以输进去,该怎么解决?

(2)用于数据验证的Validated事件程序如下:
Private Sub txt_jungongnianfen_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_jungongnianfen.Validated
。。。。。。
End Sub

这个事件是在离来这个需验证的控件且另一个控件得到焦点的时候才触发的,而我现在想一离来就触发,比如只要在控件外的窗体上点一下就触发,该怎么做?
...全文
30 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kexian 2003-09-12
  • 打赏
  • 举报
回复
(1) If e.KeyChar <> Chr(8) And (e.KeyChar < Chr(48) Or e.KeyChar > Chr(57)) Then
me.focus()
e.Handled = True
End If
或者将textbox的输入法给关了
在属性中的ImeMode 中选择Off

kexian 2003-09-12
  • 打赏
  • 举报
回复
(2)可以用text事件lostfoucs 去调用它txt_jungongnianfen+balidated

或建立一个ErrorProvider控件
然后在text的Validating事件中加入你要进行验证的处理代码
.....
lingxiang 2003-09-12
  • 打赏
  • 举报
回复
没人回答吗?

16,550

社区成员

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

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