zoukankan      html  css  js  c++  java
  • 【转】WinForm中TextBox只能输入数字

    只能输入整数

    方法一

    private void tb_KeyPress(object sender, KeyPressEventArgs e)
    {
        //如果输入的不是退格和数字,则屏蔽输入
        if (!(e.KeyChar == '' || (e.KeyChar >= '0' && e.KeyChar <= '9')))
        {
            e.Handled = true;
        }
    }

    e.KeyChar >= ‘0’ && e.KeyChar <= ‘9’ //表示输入的是数字
    e.Handled = true; //true表示已经处理该事件,则屏蔽输入

    方法二

    private void tb_KeyPress(object sender, KeyPressEventArgs e)
    {
        //如果输入的不是退格和数字,则屏蔽输入
        if (!(e.KeyChar == 8 || (e.KeyChar >= 48 && e.KeyChar <= 57)))
        {
            e.Handled = true;
        }
    }

    8代表退格,48代表0,57代表9,46代表小数点

    方法三

    private void tb_KeyPress(object sender, KeyPressEventArgs e)
    {
        //如果输入的不是退格和十进制数字,则屏蔽输入
        if (!(e.KeyChar == '' || char.IsDigit(e.KeyChar)))
        {
            e.Handled = true;
        }
    }

    方法四

    private void tb_KeyPress(object sender, KeyPressEventArgs e)
    {
        //如果输入的不是退格且不能转为整数,则屏蔽输入
        if (!(e.KeyChar == '' || int.TryParse(((TextBox)sender).Text + e.KeyChar.ToString(), out int i)))
        {
            e.Handled = true;
        }
    }

    只能输入小数

    方法一

    private void tb_KeyPress(object sender, KeyPressEventArgs e)
    {
        //当前输入的是"."且(输入框已经有“.”或者文本框没有内容),则屏蔽输入
        if (e.KeyChar == '.' && (((TextBox)sender).Text.IndexOf(".") != -1 || ((TextBox)sender).Text.Length == 0))
        {
            e.Handled = true;
        }
        //如果输入的不是退格、数字和点,则屏蔽输入
        if (!(e.KeyChar == '' || (e.KeyChar >= '0' && e.KeyChar <= '9') || e.KeyChar == '.'))
        {
            e.Handled = true;
        }
    }

    方法二

    private void tb_KeyPress(object sender, KeyPressEventArgs e)
    {
        //如果输入的不是退格且不能转为小数,则屏蔽输入
        if (!(e.KeyChar == '' || float.TryParse(((TextBox)sender).Text + e.KeyChar.ToString(), out float f)))
        {
            e.Handled = true;
        }
    }

    只能输入数字(包含负数)

    private void tb_KeyPress(object sender, KeyPressEventArgs e)
    {
        //如果输入的不是负号,退格且不能转为小数,则屏蔽输入
        if (!(e.KeyChar == '-'|| e.KeyChar == '' || float.TryParse(((TextBox)sender).Text + e.KeyChar.ToString(), out float f)))
        {
            e.Handled = true;
        }
    }

    本文转载自:https://blog.csdn.net/weixin_38211198/article/details/89214705

  • 相关阅读:
    vue react 路由是否包含id
    vue react初始化脚手架
    多线程编程基础
    模拟实现简化版List迭代器&嵌入List
    斐波那契数与二分法的递归与非递归算法及其复杂度分析
    C语言模拟实现多态
    C++智能指针剖析(下)boost::shared_ptr&其他
    C++智能指针剖析(上)std::auto_ptr与boost::scoped_ptr
    C++模板实现动态顺序表(更深层次的深浅拷贝)与基于顺序表的简单栈的实现
    C++—模板(2)类模板与其特化
  • 原文地址:https://www.cnblogs.com/lijigang/p/14049764.html
Copyright © 2011-2022 走看看