VB字符长度到达后不再输入

一个文本框内,中文为2,英文数字为1。总长度到12后不能再输入。代码该怎么写呢。... 一个文本框内,中文为2,英文数字为1。总长度到12后不能再输入。
代码该怎么写呢。
展开
 我来答
网海1书生
科技发烧友

2017-01-21 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

VB内部使用Unicode编码格式,在这种编码下,每个中文和每个英文、数字的长度都是一样的,都算作1个字符(按字节算则是2个),因此,如果你的要求是中文和英文数字都是1,总长度为12,则问题很简单,只要把文本框的MaxLength属性设为12即可。

如果是中文为2,英文数字为1,总长度12,则问题突然就变复杂了,需要另外编程解决(注意这时候MaxLength应该设为0):

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 And LenB(StrConv(Text1.Text & Chr(KeyAscii), vbFromUnicode)) > 12 Then
    KeyAscii = 0
End If
End Sub
更多追问追答
追问
vb里没有LenB函数。这段代码实现不了。
追答
这是VB6的代码。你的是VB.NET?
百事牛
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点... 点击进入详情页
本回答由百事牛提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式