C#限制TextBox文本框输入格式

1.摘要

        实现TextBox文本框输入格式限制主要思路:

textBox有个KeyPress事件,事件是在控件具有聚焦点并且用户按下并释放某个键后发生。

通过这个事件,可以通过ASCII码来与键盘输入的按钮进行判断处理,然后通过事件Handled手柄处理即可。

2.应用

        比如限制某个文本输入只能是数字,有小数点和负数。数字对应ASCII的十进制位置是48-57,”-“对应的是45,”.“对应的是46,还要有删除的功能就需要退格键,对应的是8。

        可以先限制输入的只能是45-57的按钮以及8退格键的按钮,然后排除47,然后再排除小数点不能在第一位,负号只能在首位,当负号存在,后面不能直接小数点。

3.代码

 private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            // 允许 数字,小数点,负号,/,退格键;
            if ((e.KeyChar < 45 || e.KeyChar > 57) && e.KeyChar != 8)
            {
                e.Handled = true;
            }
            //负号只能在第一位
            if (e.KeyChar==45)
            {
                if ((sender as TextBox).Text!="")
                {
                    e.Handled = true;
                }
            }
            //“/”去掉
            if (e.KeyChar==47)
            {
                e.Handled = true;
            }
            //小数点不能在首位
            if (e.KeyChar == 46 && (sender as TextBox).Text == "")
            {
                e.Handled = true;
            }
            //第一位是负号,第二位不能为小数点
            if (e.KeyChar ==46&& (sender as TextBox).Text == "-")
            {
                e.Handled = true;
            }
        }

多个文本框公用功能时,可以直接封装成函数,然后对应文本框的KeyPress事件调用封装的函数,或者直接在对应文本框的KeyPress事件那里直接调用写好功能的TextBox的KeyPress即可。

 

 

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值