限定textbox的输入长度,中文两字节英文一字节
2012-12-13 12:53
746 查看
textbox.maxlength可以限定输入内容的长度,但是如果想更精细地实现限定ansi字符串的长度该如何实现呢?
ansi编码下,中文占2字节,英文1字节,textbox.maxlength无法限定混有中英文的ansi字符串。
考虑一般情况下限定输入长度的方法:
1.maxlength
2.在KeyPress事件中处理
3.在TextChanged中处理
Dim oldTxt = ""
Private Sub txtSingleTxt_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtSingleTxt.TextChanged
Dim c = SMS.Global.MaxLen - SMS.Global.TxtLen(txtSingleTxt.Text)
lbCount3.Text = c
If (c < 0) Then
txtSingleTxt.Text = oldTxt
Else
oldTxt = txtSingleTxt.Text
End If
End Sub
Private Sub tbParentsMsg_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles tbParentsMsg.KeyPress
Dim c = SMS.Global.MaxLen - SMS.Global.TxtLen(tbParentsMsg.Text)
lbCount3.Text = c
If (c <= 0 And (vbBack <> e.KeyChar)) Then
e.Handled = True
End If
End Sub
ansi编码下,中文占2字节,英文1字节,textbox.maxlength无法限定混有中英文的ansi字符串。
考虑一般情况下限定输入长度的方法:
1.maxlength
2.在KeyPress事件中处理
3.在TextChanged中处理
Dim oldTxt = ""
Private Sub txtSingleTxt_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtSingleTxt.TextChanged
Dim c = SMS.Global.MaxLen - SMS.Global.TxtLen(txtSingleTxt.Text)
lbCount3.Text = c
If (c < 0) Then
txtSingleTxt.Text = oldTxt
Else
oldTxt = txtSingleTxt.Text
End If
End Sub
Private Sub tbParentsMsg_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles tbParentsMsg.KeyPress
Dim c = SMS.Global.MaxLen - SMS.Global.TxtLen(tbParentsMsg.Text)
lbCount3.Text = c
If (c <= 0 And (vbBack <> e.KeyChar)) Then
e.Handled = True
End If
End Sub
相关文章推荐
- JS 判断输入字符串的长度(中文占用两个字节,英文占用一个字节)
- JS 判断输入字符串的长度(中文占用两个字节,英文占用一个字节)
- js:单字节(英文一个,中文二个)长度/截取(substr)实现
- 测试文字字节长度,中文为2,英文、数字为1,特殊字符为2
- jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
- 解决文本框中输入字符限制---精确控制中文占两个字节,英文占一个字节~
- 限制输入字符长度 中文算3字符,英文算1字符
- C#获取中文英文混合字符串Byte字节长度
- ASP截取字符串左边的限定长度(区别英文和中文)
- javascript 返回字符长度,中文为两个字节,英文为一个字节
- 限定UITextField输入的字节长度
- 怎样才能使TextBox中只能输入4-10位中文或英文字母或数字
- 设计函数,输入为一个字符串,里边包含中文、英文、数字等字符,编码为GBK。中文字符的编码规则假定为:双字节组成,高字节大于0x80,低字节任意。
- [C#] TextBox限制输入长度(中文字算2码)
- C#获取中文英文混合字符串Byte字节长度
- JS判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
- jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
- js统计文本框剩余可输入字数 中文 英文长度区分
- 【JS】JS判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)