以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  内部数据源的联系方式验证  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121164)

--  作者:susu312
--  发布时间:2018/6/30 11:16:00
--  内部数据源的联系方式验证

If e.KeyCode >= Asc("0") AndAlso e.keycode <= Asc("9") Then
    If e.sender.text.length > 10 Then
        e.cancel = True
    End If
ElseIf e.KeyCode <> Keys.back Then
    e.cancel = True
End If

 

老师,这个代码,您给的我验证没有问题,但是在我自己的项目中,在联系方式控件中还可以输入汉字, 实际效果应该是只能输入数字,是不是在哪里还有设置?


--  作者:有点蓝
--  发布时间:2018/6/30 11:26:00
--  
1、删除项目里的bin目录,然后重启项目测试

2、做有问题的例子发过来看看

--  作者:susu312
--  发布时间:2018/6/30 11:33:00
--  
bin目录删除后问题搞定!谢谢老师
--  作者:susu312
--  发布时间:2018/6/30 12:46:00
--  

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目9.table

项目中联系方式是内部表,窗口1是测试窗口

 

1、删除bin目录后,如果是中文输入法时,依然可以在联系方框的控件里面输入汉字,需求是只可以输入数字

2、如果不是中文输入法时,则在窗口1的联系方式控件中不是数字都输入不进去

 

您看看这是咋回事


--  作者:有点蓝
--  发布时间:2018/6/30 14:37:00
--  
textchanged事件

Dim txt As String = e.Sender.Text
If txt > "" Then
    Dim pattern As String = "[^\\d+]"
    Dim str As String = System.Text.RegularExpressions.Regex.Replace(txt , pattern ,"")
    e.Sender.Text = str
    e.sender.SelectionStart = str.Length
End If