textbox只能输入数字怎么弄?老司机手把手教你!

吉云

今儿个,咱来聊聊WinForm里头那TextBox控件的事儿。话说这玩意儿,有时候咱就想让它老老实实地只输入数字,别的啥也别想往里塞。我就碰上这么一茬,琢磨半天,总算给弄明白,赶紧来跟大家伙儿分享分享。

实践出真知

我也是两眼一抹黑,不知道咋下手。上网一搜,五花八门啥都有。有的说要用啥“正则表达式”,有的说要加啥“键盘事件”,看得我头都大。不过咱是谁,那可是有股子不服输的劲儿!我就不信这小小的TextBox还能难倒我?

textbox只能输入数字怎么弄?老司机手把手教你!

我先试试那个叫“正则表达式”的法子。听说这玩意儿挺厉害,能把不符合要求的输入都给挡在外头。我就照着网上的教程,给TextBox加个RegularExpressionValidator控件,还在ValidationExpression里头填一串神秘代码:^[0-9][1-9][0-9]$。这串代码我是真看不懂,不过照猫画虎嘛先试试再说。

结果?还真有点儿意思!这TextBox还真就只认数字,别的啥也输不进去。不过我这心里头还是有点儿不踏实。这代码啥意思?万一哪天出点啥问题,我可咋整?

于是我又开始琢磨别的法子。这回,我盯上那个叫“键盘事件”的玩意儿。听说这东西能在用户敲键盘的时候做点手脚,把不听话的字符给拦下来。我试着给TextBox加几个事件:onkeyup、onkeypress、onkeydown,然后在里头写一堆代码,大概就是判断输入的字符是不是数字,不是数字就给它“咔嚓”掉。

这法子看着挺热闹,可实际用起来却有点儿麻烦。我发现,这几个事件有时候会“打架”,一会儿这个拦一下,一会儿那个拦一下,搞得我晕头转向。而且这代码写起来也挺啰嗦,一不小心就容易出错。

我还是回到“正则表达式”的怀抱。虽然那串代码我还是看不懂,但至少它能用,而且用起来还挺稳定。不过我可没打算就这么算。我决定,一定要把这“正则表达式”给弄明白!

    textbox只能输入数字怎么弄?老司机手把手教你!

  • 第一步,我把那串代码给拆开来,一个符号一个符号地研究。
  • 第二步,我上网查资料,看看每个符号都是啥意思。
  • 第三步,我动手做实验,改改代码,看看效果有啥变化。

经过一番折腾,我还真给弄明白一些门道。原来,这“正则表达式”就像是一个筛子,能把符合要求的字符给“捞”出来,把不符合要求的字符给“筛”掉。那串神秘代码,就是告诉筛子,啥样的字符才是符合要求的。

虽然我现在还不能完全掌握“正则表达式”的奥秘,但至少我已经迈出第一步。我相信,只要我坚持下去,总有一天能把它给彻底搞定!

textbox只能输入数字怎么弄?老司机手把手教你!

今儿个就先分享到这儿。等我把“正则表达式”研究透,再来跟大家伙儿好好聊聊!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]