解决控件中中英文混合输入长度限制问题
2009-08-27 14:12
471 查看
很多时候我们的控件需要限定字符输入的MaxLength,但是遇到中英文混合的情况,对于长度的判定就有点复杂,现提供TextBoxBase继承控件的通用方法:
控件最大字符长度即为数据库字段长度即可.
在需要验证长度的控件的ValueChanged 事件上响应此方法即可.
原文地址
:/article/4922633.html
public static void OnTextBoxValueChanged(object sender, EventArgs e) { TextBoxBase txtbox = sender as TextBoxBase; if (txtbox != null) { txtbox.TextChanged -= OnTextBoxValueChanged; if (Encoding.Default.GetByteCount(txtbox.Text) > txtbox.MaxLength && txtbox.Text.Length > 0) { string tmp = txtbox.Text.Substring(0,txtbox.Text.Length - 1); while (Encoding.Default.GetByteCount(tmp) >txtbox.MaxLength && tmp.Length > 0) { tmp =tmp.Substring(0, tmp.Length - 1); } int start = txtbox.SelectionStart; int length = txtbox.SelectionLength; txtbox.Text = tmp; txtbox.SelectionStart = start; txtbox.SelectionLength = length; } txtbox.TextChanged += OnTextBoxValueChanged; } }
控件最大字符长度即为数据库字段长度即可.
在需要验证长度的控件的ValueChanged 事件上响应此方法即可.
原文地址
:/article/4922633.html
相关文章推荐
- 解决控件中中英文混合输入长度限制问题.
- UITextField对中英文混合输入的长度限制
- 关于TextView限制长度的中英文混合输入
- 发一服务器控件,完全解决文本框限制输入问题(新增在线示例)
- Edittext限制输入字符长度,解决中英文混用情况保证规定长度
- angular4中ngModel双向绑定在限制输入情况下与value值不一致的问题及尝试的解决方法
- Ext.Net/ExtJs:关于TextField控件内size、maxLength控制文本框输入字符长度属性失效问题分析以及解决方案
- [WPF]Show新窗口时TextBox等控件无法输入问题解决方法
- UITextField限制输入字数高亮状态下输入框内真实类容与textFiled(解决中文输入问题)
- 文本框限制输入(半角,全角互转),以及控制输入法问题,解决方法整合
- 关于UITextField 支持中文、英文和数字的限制问题,以及中文九宫格无法输入的解决
- textView限制字数(超简单,不走弯路)(解决联想输入及iOS7崩溃等问题)
- C语言 realloc为什么要有返回值,realloc返回值具体解释/(解决随意长度字符串输入问题)。
- [置顶] 彻底解决Intellij IDEA/WebStorm2017.2 中文无法输入 中英文没法自由切换问题?
- 如何解决在UBOOT中通过串口输入长度较大的环境变量的问题
- 解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)
- 解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)
- 用CSS解决中英文混合字符串的截取省略问题的解决办法
- UITextField 解决限制文字长度不准确的问题
- 关于限制edit控件中输入变量的类型的问题