C# DEV TextEdit 设置文本框只能输入数字(整数)

介绍下,设置TextEdit 设置文本框只能输入数字(整数):

在TextEdit里 找到 Mask属性

代码设置:

MaskType="RegEx" UseMaskAsDisplayFormat="True" Mask="[0-9]*"     //这个是允许文本框输入数字(整数),比如22222222222

MaskType="RegEx" UseMaskAsDisplayFormat="True" Mask="([0-9]{1,}[.][0-9]*)"   //这个是允许文本框输入数字,比如22,356.1,78.01

正则表达式: [0-9]*  代表可以输入整数
正则表达式:([0-9]{1,}[.][0-9]*) 代表可以输入数字,包括整数和小数

设置器里设置:


上面是介绍是让textEdit只能输入正整数,接下来介绍让textEdit,textBox等只能输入正数,这个是允许输入小数点的,比如23.1    2.66 

 #region 控制textBox1只能输入正数(包括小数)
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46)
                e.Handled = true;
            //小数点的处理。
            if ((int)e.KeyChar == 46)                           //小数点
            {
                if (textBox1.Text.Length <= 0)
                    e.Handled = true;   //小数点不能在第一位
                else
                {
                    float f;
                    float oldf;
                    bool b1 = false, b2 = false;
                    b1 = float.TryParse(textBox1.Text, out oldf);
                    b2 = float.TryParse(textBox1.Text + e.KeyChar.ToString(), out f);
                    if (b2 == false)
                    {
                        if (b1 == true)
                            e.Handled = true;
                        else
                            e.Handled = false;
                    }
                }
            }
        }
        #endregion

posted @ 2022-09-16 17:43  mkmkbj  阅读(1463)  评论(0编辑  收藏  举报