博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#Winform限制Textbox只能输入数字
阅读量:5963 次
发布时间:2019-06-19

本文共 846 字,大约阅读时间需要 2 分钟。

在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。    

      拖一个Textbox到窗体上,添加OnKeyPress事件,在事件写判断的代码,只要判断不是这些键,设置e.Handled的值为true,就可以屏蔽输入。
     1.判断是否为数字或Backspace,按下面这样写的话只能输入数字和Backspace,所以还得给代码添加些条件,还要能够输入小数点。
    

 程序代码
    if ((kc < 48 || kc > 57) && kc != 8) 
       e.Handled = true
    

     2.输入小数点。输入的小数要符合数字的格式,类似9.9.9这样的是不能够输入的。做法就是用float.TryParse来转换Textbox中之前和之后的值,然后比较两者的转换结果。具体的代码如下:
    

 程序代码
    if (kc == 46)                       //小数点
    {
        if (txtMoney.Text.Length <= 0)
            e.Handled = true;           //小数点不能在第一位
        else
        {
            float f;
            float oldf;
            bool b1 = false, b2 = false;
            b1 = float.TryParse(txtMoney.Text, out oldf);
            b2 = float.TryParse(txtMoney.Text + e.KeyChar.ToString(), out f);
            if (b2 == false)
            {
                if (b1 == true)
                    e.Handled = true;
                else
                    e.Handled = false;
            }
        }
    }

转载于:https://www.cnblogs.com/codefly/archive/2011/12/07/2279316.html

你可能感兴趣的文章
Linux设备驱动工程师之路——硬件访问及混杂设备LED驱动
查看>>
进程和线程<一>
查看>>
远程算数程序——版本v1.0
查看>>
Mysql常见四种索引的使用
查看>>
说说Android桌面(Launcher应用)背后的故事(一)——揭开她神秘的面纱
查看>>
第一篇:zc706 开箱及开发环境搭建
查看>>
python-冒泡排序
查看>>
Mac下修改Hosts文件工具——Gas Mask
查看>>
协程函数应用
查看>>
CSU Double Shortest Paths 湖南省第十届省赛
查看>>
Tomcat学习总结(2)——Tomcat使用详解
查看>>
webgl像机世界
查看>>
php正则怎么使用(最全最细致)
查看>>
原码、反码、补码、移码
查看>>
javascript数学运算符
查看>>
shuff打乱排序
查看>>
LC.155. Min Stack(非优化,两个stack 同步 + -)
查看>>
Add Two Numbers
查看>>
Asp.net技巧:gridview获取当前行索引的方法
查看>>
让 vim 在按ESC时自动保存
查看>>