C# textbox 限制输入问题

    原理:e.handled代表这次按键动作是否交由用户自己处理,如果为true代表由用户处理,系统不再过问,这里的应用是拦截,即通知系统我要处理这个数据,但又不处理(丢弃数据),从而实现拦截的效果。

    在KeyPress 事件中填写下列代码:

        e.handled= e.KeyChar<'0'|| e.KeyChar>'9' ;

         e.KeyChar<'0'|| e.KeyChar>'9'也就是当按键值在0~9之间,会返回false,否则返回true,那么e.handled就接收这个返回值,如果是假 设在0~9之间,那么e.handled就会为false,那么代表不是需要处理的范围,交由系统处理,否则进行拦截,意思就是只收数字了。
        if(e.KeyChar == (char)8)
        {
           e.handled=false;
         }

    退格键的ASCII码就是8,这代表当是退格时不管前面是否拦截,都取消拦截,即前面即使不是数字,这个退格键也都视为有效。

     屏蔽粘贴数据:在属性中将 ShortcutsEnabled=false;

     
   

你可能感兴趣的:(text)