【C#重构】——限制字符输入

本文详细介绍了如何使用C#限制密码输入为数字或Backspace,以及如何限制输入为汉字的方法。通过使用正则表达式和KeyPress事件,可以有效地控制用户输入,确保符合特定的格式要求。同时,对比了KeyPress与KeyDown事件的区别,帮助开发者更好地理解并选择合适的事件进行键盘输入处理。

针对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. 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邢美玲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值