【C#重构】——限制字符输入
" class="reference-link">针对ASCII:设置密码,只能输入数字或者Backspace
只显示输入0~9数字和回退:
限制只能输入汉字:
using System.Text.RegularExpressions;//汉字限制输入的引用
Regex rg = new Regex("^[\u4e00-\u9fa5]$");
if (!rg.IsMatch (e.KeyChar .ToString ())&& e.KeyChar !='\b')
{
e.Handled = true;
}
KeyPress事件:
理解一下keypress he keydown
虽然从字面理解, KeyDown是按下一个键的意思, 但实际上二者的根本区别是, 系统由KeyDown返回键盘的代码, 然后由TranslateMessage函数翻译成成字符
由KeyPress返回字符值. 因此在KeyDown中返回的是键盘的代码, 而KeyPress返回的是ASCII字符. 所以根据你的目的, 如果只想读取字符, 用KeyPress, 如果想读各键的状态, 用KeyDown.
还没有评论,来说两句吧...