C# 不明白接受 0-9 和退格键代码的意思

来源:百度知道 编辑:UC知道 时间:2024/06/01 10:17:39
e.handled= e.KeyChar<'0'|| e.KeyChar>'9' ;
if(e.KeyChar == (char8))
{
e.handled=false;
}
handled代表什么?那个if里的e.KeyChar==字符8 是什么用意?
总之一句看不懂
if(e.KeyChar == (char)8)
以后想查 类似 这样的e.handled用法 ,在哪里可以查到?

e.handled代表这次按键动作是否交由用户自己处理,如果为true代表由用户处理,系统不再过问,这里的应用是拦截,即通知系统我要处理这个数据,但又不出里,那么数据就废掉了,从而实现拦截的效果
首先第一句,e.KeyChar<'0'|| e.KeyChar>'9'也就是当按键值在0~9之间,会返回false,否则返回true,那么e.handled就接收这个返回值,如果是假设在0~9之间,那么e.handled就会为false,那么代表不是需要处理的范围,交由系统处理,否则进行拦截,意思就是只收数字了
第二句估计你打错字了,应该是(char)8,这代表ASCII为8的字符,在规定中,退格键的ASCII码就是8,即退格键,这代表当是退格时不管前面是否拦截,都取消拦截,即前面即使不是数字,这个退格键也都视为有效

MSDN:
获取或设置一个值,该值指示事件处理程序是否已完整处理事件,或者系统是否应该继续本身的处理。

Handled是过去式,看字面意思.
操作过的=否.将这个操作的状态设为未来处理过.