Foxtable(狐表)用户栏目专家坐堂 → 联系方式设置


  共有1999人关注过本帖树形打印复制链接

主题:联系方式设置

帅哥哟,离线,有人找我吗?
有点甜
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/29 10:07:00 [只看该作者]

以下是引用susu312在2018/6/29 9:42:00的发言:

谢谢老师!输入控制那里不可以用哈?

 

什么意思?没看懂你什么意思


 回到顶部
美女呀,离线,留言给我吧!
susu312
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/6/29 17:22:00 [只看该作者]

就是text控件的属性里面输入控制中,控制字符长度,控制掩码这些使用的话就会出现跳行问题?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/29 17:42:00 [只看该作者]

以下是引用susu312在2018/6/29 17:22:00的发言:

就是text控件的属性里面输入控制中,控制字符长度,控制掩码这些使用的话就会出现跳行问题?

 

超过字符长度的时候,会跳转到下一个控件,这个是功能,不是bug。


 回到顶部
美女呀,离线,留言给我吧!
susu312
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/6/29 18:09:00 [只看该作者]

明白了,谢谢谢谢谢谢


 回到顶部
美女呀,离线,留言给我吧!
susu312
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/6/29 20:34:00 [只看该作者]

keydown代码:

 

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

 

代码思想:如果按键是0-9,则判断输入控件内容的长度是否超过10?(为啥不是11呀),则取消此次按键;

              如果按键不是回车键,则取消此次按键(老师,我不太懂这个else if的目的);

 

validating代码:

 

Dim pattern As String = "^[0-9]{11}$"
Dim txt As String = e.Sender.Text
If txt > "" Then
    Dim rgx = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
    If rgx.isMatch(txt) = False Then
        e.Sender.Error = "联系方式是11位数!"
        e.cancel = True
    Else
        e.Sender.Error = ""
    End If
Else
    e.Sender.Error = ""
End If

 

代码思想:定义一正则表达式,获取输入的文本内容,如果文本不为空,则判断text是否符合正则表达式,如果不符合,则提示错误,取消此次按键 ,如果匹配,则取消此次按键(老师我不太这个else的目的

 

 

老师,因为这两段验证代码特别重要, 但是我理解的不清楚, 麻烦老师 点拨一下


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107521 积分:546890 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/29 20:41:00 [只看该作者]

ElseIf e.KeyCode <> Keys.back Then 如果不是退格符就不允许输入

If txt > "" Then
    Dim rgx = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
    If rgx.isMatch(txt) = False Then
        e.Sender.Error = "联系方式是11位数!"
        e.cancel = True
    Else '输入正确,取消错误提示
        e.Sender.Error = ""
    End If
Else '没有输入内容,取消错误提示
    e.Sender.Error = ""
End If

[此贴子已经被作者于2018/6/30 10:34:05编辑过]

 回到顶部
美女呀,离线,留言给我吧!
susu312
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/6/30 8:53:00 [只看该作者]

keydown代码:

 

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

 

代码思想:如果按键是0-9,则判断输入控件内容的长度是否超过10?(为啥不是11呀


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107521 积分:546890 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/30 9:35:00 [只看该作者]

keydown事件是在输入状态中,e.sender.text并不包含当前输入的字符

 回到顶部
美女呀,离线,留言给我吧!
susu312
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/6/30 9:40:00 [只看该作者]

以下是引用有点蓝在2018/6/30 9:35:00的发言:
keydown事件是在输入状态中,e.sender.text并不包含当前输入的字符

哦哦,所以,对于邮编就是5,最后一次输入的时候,keydown不统计它,只统计前十次,

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

 

老师,这个else if 您说是不是没有必要啊?

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107521 积分:546890 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/30 10:35:00 [只看该作者]

16楼说错了

ElseIf e.KeyCode <> Keys.back Then 如果不是退格符就不允许输入

具体效果自己去掉测试

 回到顶部
总数 20 上一页 1 2