qlineedit限制输入数字_懒人代码:C# TextBox限制整数和浮点数输入代码

上次说到了对string的扩展,这次对TextBox进行扩展一下。

在TextBox需要仅输入数字的场合,可以通过KeyPress方法实现。

但是如果一个庞大的项目,里面有一堆的TextBox需要限制仅输入整数。。。你咋整?

每一个都写一个KeyPress,这不符合我们懒人的作风,就是复制粘贴。。。。多了手指头也会酸掉。。。

嗯。。。不多说了,直接上代码。

还是通过重构的方式实现。。。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;namespace System{    public static class CommControl    {        #region 限制:TextBox内仅能输入整数        ///         /// 限制:TextBox内仅能输入整数        ///         ///         public static void SetNumber(this TextBox tb)        {            // 限制:TextBox内仅能输入整数            tb.KeyPress += new KeyPressEventHandler(tb_KeyPress_SetNumber);        }        ///         /// 实现方法:TextBox内仅能输入整数        ///         ///         ///         static void tb_KeyPress_SetNumber(object sender, KeyPressEventArgs e)        {            // 退格键,这个得保留            if ((int)e.KeyChar == 8) { return; }            // 判断所输入的是否在0~9数字范围外            if ((int)e.KeyChar < 48 || (int)e.KeyChar > 57)            {                e.Handled = true;                return;            }        }        #endregion        #region 限制:TextBox内仅能输入浮点数        ///         /// 限制:TextBox内仅能输入浮点数        ///         ///         public static void SetDouble(this TextBox tb)        {            // 限制:TextBox内仅能输入浮点数            tb.KeyPress += new KeyPressEventHandler(tb_KeyPress_SetDouble);        }        ///         /// 实现方法:TextBox内仅能输入浮点数        ///         ///         ///         static void tb_KeyPress_SetDouble(object sender, KeyPressEventArgs e)        {            // 退格键,这个得保留            if ((int)e.KeyChar == 8) { return; }            // 输入的内容为“.”的情况            if ((int)e.KeyChar == 46)            {                // 判断输入的“.”前面是否有内容,若没有,限制输入                if (((TextBox)sender).Text.Length == 0)                {                    e.Handled = true;                    return;                }                // 判断前面是否已经输入了“.”                if (((TextBox)sender).Text.IndexOf('.') > -1)                {                    e.Handled = true;                    return;                }                else                {                    return;                }            }            // 判断所输入的是否在0~9数字范围外            if ((int)e.KeyChar < 48 || (int)e.KeyChar > 57)            {                e.Handled = true;                return;            }        }        #endregion    }}

估计有程序猿会问我,这玩意咋用。。。

很简单,在你项目里建一个类文件,把这段代码复制粘贴进去。然后。。。。在你程序的TextBox对象后面输入一个点看一下,惊喜有木有。。。。

e25ab682c21a15b403562387140388ae.png

懒人代码

对。。。。你没看错。。下面俩个方法就是我们刚才扩展的方法。调用一下,你的文本框就只能输入整数或者浮点数了。。。

            TextBox tb = new TextBox();                        // TextBox仅能输入整数            tb.SetNumber();            // TextBox仅能输入浮点数            tb.SetDouble();

很简单有木有。。。。很懒有木有。。。

有时候,懒到一定程度了,就成了创新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值