winform文本框限制只能输入四位小数

本文介绍如何使用C#在Winform应用程序中限制文本框控件只接受最多四位小数的输入,确保用户输入的数据格式正确。
摘要由CSDN通过智能技术生成
在KeyPress事件中调用如下代码,把KeyPress,和文本值传入即可

private void keyNumber(KeyPressEventArgs e, String text)
        {
            // 最多输入四位小数
            if (text.IndexOf(".") != -1)
            {
                string s = text.Substring(text.IndexOf("."));
                if (s.Length > 4)
                {
                    // 删除键不禁用
                    if ((int)e.KeyChar != 8)
                        e.Handled = true;
                }
            }

            try
            {
                int kc = (int)e.KeyChar;
                if (((kc < 48 && kc != 46) || kc > 57) && kc != 8)
                    e.Handled = true;   // 按键不生效
                if (kc == 46)                       //小数点  
                {
                    if (text.Length <= 0)
                        e.Handled = true;           //小数点不能在第一位  
                    else
                    {
                        float f;
                        float oldf;
                        bool b1 = false, b2 = false;
                        b1 = float.TryParse(text, out oldf);
                        b2 = float.TryParse(text + e.KeyChar.ToString(), out f);
                        if (b2 == false)
                        {
                            if (b1 == true)
                                e.Handled = true;
                            else
                                e.Handled = false;
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值