• C#控制台限制只能输入数字|小数点,WinForm限制控件TextBox只能输入数字|小数点


    一、控制台限制只能输入数字

    static void Main(string[] args)
            {
                Console.WriteLine("本控制台程序为演示只能输入数字功能");
                Console.WriteLine("请输入数值:");
    
                var Falg = true;
                var InputValue = "";
                while (Falg)
                {
                    if (Console.KeyAvailable)
                    {
                        ConsoleKeyInfo key = Console.ReadKey(true);
                        if (!char.IsDigit(key.KeyChar) && key.KeyChar != '\b' && key.KeyChar != '\r') continue;
                        if (key.KeyChar == '\r' && InputValue.Trim() == "") continue; //禁止第一个字符就换行
                        if (key.KeyChar == '\r')
                        {
                            Falg = false;
                            continue;
                        }
                        else
                        {
                            Console.Write(key.KeyChar);
                            InputValue += key.KeyChar;
                        }
    
                    }
                }
                Console.WriteLine();
                Console.WriteLine("输入的数字是:{0}", InputValue);
                Console.ReadKey();
            }

    二、控制台限制只能输入数字|小数点

    static void Main(string[] args)
            {
                Console.WriteLine("本控制台程序为演示只能输入数字|小数点功能");
                Console.WriteLine("请输入数值:");
    
                var Falg = true;
                var InputValue = "";
                while (Falg)
                {
                    if (Console.KeyAvailable)
                    {
                        ConsoleKeyInfo key = Console.ReadKey(true);
                        if (!char.IsDigit(key.KeyChar) && key.KeyChar != '\b' && key.KeyChar != '\r' && key.KeyChar != '.') continue;
                        if (key.KeyChar == '\r' && InputValue.Trim() == "") continue; //禁止第一个字符就换行
                        if (key.KeyChar == '.' && InputValue.Trim() == "") continue; //禁止第一个字符就输入小数点
                        if (key.KeyChar == '0' && InputValue.Trim() == "") continue; //禁止第一个字符就输入0
                        if (key.KeyChar == '.' && InputValue.Contains(".")) continue; //禁止输入多个小数点
                        if (key.KeyChar == '\r')
                        {
                            if (InputValue.Substring(InputValue.Length - 1, 1) == ".")
                            {
                                continue;//禁止小数点后就换行
                            }
                            Falg = false;
                            continue;
                        }
                        else
                        {
                            Console.Write(key.KeyChar);
                            InputValue += key.KeyChar;
                        }
    
                    }
                }
                Console.WriteLine();
                Console.WriteLine("输入的数字是:{0}", InputValue);
                Console.ReadKey();
            }

    三、限制TextBox控件只能输入数字(其他部分输入内容控件均可适用以下代码)

    private void txtBoxPress_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (!char.IsDigit(e.KeyChar) && e.KeyChar != '\b')
                {
                    e.Handled = true;  //非以上键则禁止输入
                }
                if (e.KeyChar == '0' && txtBoxPress.Text.Trim() == "") e.Handled = true; //禁止第一个字符就输入0
                
            }

    四、限制TextBox只能输入数字|小数点

    private void txtBoxPress_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (!char.IsDigit(e.KeyChar) && e.KeyChar != '\b' && e.KeyChar != '.')
                {
                    e.Handled = true;  //非以上键则禁止输入
                }
                if (e.KeyChar == '0' && txtBoxPress.Text.Trim() == "") e.Handled = true; //禁止第一个字符就输入0
                if (e.KeyChar == '.' && txtBoxPress.Text.Trim() == "") e.Handled = true; //禁止第一个字符就输入小数点
                if (e.KeyChar == '.' && txtBoxPress.Text.Contains(".")) e.Handled = true; //禁止输入多个小数点
            }

    这里是输入框,只做了部分能够规避的操作性问题,至于输入值是否还会有其他问题,请大家多多交流。

  • 相关阅读:
    洛谷$P4768 [NOI2018]$归程 $kruscal$重构树
    洛谷$P2469 [SDOI2010]$ 星际竞速 网络流
    洛谷$P2572 [SCOI2010]$ 序列操作 线段树/珂朵莉树
    $CF914D Bash and a Tough Math Puzzle$ 线段树
    洛谷$P2824 [HEOI2016/TJOI2016]$ 排序 线段树+二分
    洛谷$P$4137 $Rmq Problem / mex$ 主席树
    bat语法
    zabbix监控oracle
    sqlserver常用命令-4
    sqlserver库相关-表相关-3
  • 原文地址:https://www.cnblogs.com/wl192/p/16003289.html
Copyright © 2020-2023  润新知