winform中TextBox通过正则限制只能输入两位小数
的有关信息介绍如下:在做winform程序的时候,有的时候我们需要让用户输入一些数据,比如让用户在textbox中输入数值的时候,同时业务要求输入只能是两位小数,这个时候就需要使用正则表达式等方法来实现,今天小编来通过一个小实验来实现这个功能。
首先小编这里创建一个小的winform程序,只有一个输入框,然后需要在输入框中让用户输入一个两位小数,或者以为甚至没有小数都可以,如下图:
但是此时运行程序发现,这个时候是可以输入任何东西的,输入汉字也是可以的,如下图:
接下来我们开始使用程序来限制输入小数的位数,如下图,选中输入框,在事件总选择KeyPress这个事件,然后双击这个事件,如下图:
双击KeyPress事件之后会在代码中自动生成KeyPress事件代码,这个事件的意思是,如果在文本框汇中输入字符在键盘按下的瞬间触发事件,如下图:
然后我们来整体看一下代码,然后就其中的主要思想以及代码解释一下:
1.最终结果我们通过设置e.handle为true或者false来实现允许和禁止输入,如果设置handle为false表示该事件未处理,交给系统处理,表示按键可以允许,如果设置handle为true表示事件已经处理,不交给系统处理,表示按键禁止
2.然后根据键盘输入的字符,与正则表达式进行匹配,如果匹配则返回false,如果不匹配则返回true,
整体代码基于上述两点进行编程,最终实现控制输入两位小数的效果,如下图:
然后运行程序,输入两位小数之后再输入其他字符,文本框无任何反应,如下图: