首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

一个对于半角和全角混合输入的思路,求解

2011-12-18 
一个关于半角和全角混合输入的思路,求解!一个文本输入框,最大可输入字符设定为20,允许全半角混合输入。比如

一个关于半角和全角混合输入的思路,求解!
一个文本输入框,最大可输入字符设定为20,允许全半角混合输入。
比如:输入数字和字母算半角,占一个字符位置,输入中文算全角,占2个字符位置。
全角+半角总数等于20,
即   全角字符x2   +   半角字符x1   =   20

以上问题已经可以解决,不过当半角是19个时,要求限制只能再输入一个半角,而不允许输入一个全角,怎么做呢?

思来想去,现在是当输入时,触发textbox_textchange事件来处理,只有当输入的字符已经显示在textbox框里了才进行全半角的判断的,在输入以前貌似没有办法知道下一个是全角还是半角,所以想不出怎么限制在已经有19个字符的情况下只能半角输入而不能全角输入。

求高人指点!万分感谢!

[解决办法]
在key_down和keyUP事件判断
[解决办法]
全角的asc值为负值,从这来判断
当长度为19时,判断最后一个是全角还是半角,如果是全角把限制改为21
[解决办法]
的确在 Text_Change 事件中,将超过长度的字符截掉最简单,否则你处理要处理键盘输入还有解决用鼠标右键菜单粘贴的问题。

热点排行