`

C#控制文本框(TextBox)只能输入正数,负数,小数

    博客分类:
  • C#
阅读更多

C#控制文本框(TextBox)只能输入正数,负数,小数

        由于项目需要,需要写一个TextBox文本框,此文本框需要满足:只能输入正数,负数和小数。比如:3,0.3,-4,-0.4等等。

        在网上找了许多正则表达式都不好用,由于本人又对正则表达式一窍不通,就换了一种方式。使用了TextBox的KeyPress事件,完成了上述需求。这点代码写了一下午有木有,下面分享给大家。

代码如下:

 /*
         *设置textBox只能输入数字(正数,负数,小数)
         */
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            
            //允许输入数字、小数点、删除键和负号
            if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != (char)('.') && e.KeyChar != (char)('-'))
            {
                MessageBox.Show("请输入正确的数字");
                this.textBox1.Text = "";
                e.Handled = true;
            }
            if (e.KeyChar == (char)('-'))
            {
                if (textBox1.Text != "")
                {
                    MessageBox.Show("请输入正确的数字");
                    this.textBox1.Text = "";
                    e.Handled = true;
                }
            }
            //小数点只能输入一次
            if (e.KeyChar == (char)('.') && ((TextBox)sender).Text.IndexOf('.') != -1)
            {
                MessageBox.Show("请输入正确的数字");
                this.textBox1.Text = "";
                e.Handled = true;
            }
            //第一位不能为小数点
            if (e.KeyChar == (char)('.') && ((TextBox)sender).Text == "")
            {
                MessageBox.Show("请输入正确的数字");
                this.textBox1.Text = "";
                e.Handled = true;
            }
            //第一位是0,第二位必须为小数点
            if (e.KeyChar != (char)('.') && ((TextBox)sender).Text == "0")
            {
                MessageBox.Show("请输入正确的数字");
                this.textBox1.Text = "";
                e.Handled = true;
            }
            //第一位是负号,第二位不能为小数点
            if (((TextBox)sender).Text == "-" && e.KeyChar == (char)('.'))
            {
                MessageBox.Show("请输入正确的数字");
                this.textBox1.Text = "";
                e.Handled = true;
            }
        }

 完毕,大家可以去试一下,如有BUG尽情反馈。

 

3
1
分享到:
评论

相关推荐

    C#文本框TextBox只有输入数字

    在C#编程中,文本框(TextBox)是一个常用的控件,用于接收用户的文本输入。当开发者需要限制用户在文本框中只能输入数字时,需要进行特定的处理来实现这一功能。下面将详细介绍如何使C#的TextBox控件只能接受数字...

    wpf 文本框只能输入小数,整数,可允许负号

    文本框验证,允许输入整数、小数、负号;键盘验证;文本框文本改变事件;

    限制TextBox只能输入整数或者小数

    通过结合使用`KeyDown`和`TextChanged`事件,以及正则表达式的辅助,可以在Silverlight应用中有效地限制`TextBox`控件的输入,确保用户只能输入整数或小数,从而提高了数据的准确性和应用程序的健壮性。这种方法不仅...

    winform中textbox只能输入数字,小数点,正负号

    为了实现`TextBox`只能输入数字、小数点和正负号的功能,代码中采用了多种条件判断来过滤输入字符: 1. **数字识别**:通过`Char.IsNumber(e.KeyChar)`函数判断输入的字符是否为数字。 2. **小数点和正负号的特殊...

    C#文本框验证:只能输入整数和带两位小数的小数

    VS2010 C# 一个WinForm测试程序,利用正则表达式实现对“只能输入整数和保留两位小数位的小数”功能。 若用VS2013打开时报错“在证书存储区中找不到清单签名证书”,可通过“右击项目属性—&gt;签名—&gt;为ClickOnce清单...

    C# 文本框输入负数验证

    在上述给定的部分代码中,通过监听`TextBox`的`KeyPress`事件来实现对负数输入的验证。主要逻辑包括以下几个方面: 1. **字符范围检查**:首先判断按下的键是否为数字(0-9)。如果不是,则阻止该字符被输入。 2. *...

    C# VB文本框textbox根据字符串自动调整高度

    在这些应用中,文本框(TextBox)是用户界面中常见的控件,用于接收和显示文本输入。有时,我们希望文本框能根据其中的字符串长度自动调整其高度,以便正确显示所有文本,而无需滚动。以下是对这一功能的详细解释。 ...

    c# winform textbox控件只能输入数字的几种方法

    在C# WinForms开发中,有时我们需要限制TextBox控件只接受数字输入,这对于处理数值数据的应用程序来说尤为重要。本文将详细介绍几种实现这一功能的方法,并深入分析每种方法的工作原理及适用场景。 ### 方法一:...

    用c#编写在文本框里只能输入0到9的八位数字

    标题中的“用C#编写在文本框里只能输入0到9的八位数字”是一个常见的需求,特别是在开发用户界面时,我们可能希望限制用户输入特定格式的数据,例如电话号码、身份证号等。这个功能可以通过编程实现,确保用户只能在...

    C#文本框只能输入数字

    在C#编程语言中,文本框(TextBox)是Windows Forms应用程序中最常用的控件之一,用于接收用户的输入。但在某些应用场景下,我们可能需要限制用户在文本框中输入的内容类型,例如仅允许输入数字。这种需求常见于需要...

    C#案例:限制TextBox只能输入字母

    《C#案例:限制TextBox只能输入字母》,就如题目的意思一样,让文本框只能输入字母,否则会显示提示框。 采用的是通过正则表达式实现的: 匹配特定字符串:  ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串  ^[A...

    WINFORM文本框实现只能输入数字和小数点

    WINFORM文本框实现只能输入数字和小数点

    C#Winform限制Textbox只能输入数字

    C# Winform 限制 Textbox 只能输入数字 摘要:本文介绍了如何在 C# Winform 中限制 Textbox 只能输入数字,主要通过在按键事件中处理,判断 KeyChar 的值来实现。下面将详细介绍实现的方法和代码。 一、判断是否为...

    c# 文本框只能输入数字

    在C#编程语言中,有时候我们需要对用户输入的数据进行限制,比如只允许用户在文本框中输入数字。这种需求在很多场景下都是必要的,例如在处理价格、数量等数值型数据时,确保输入的准确性至关重要。本文将详细介绍...

    c#中只允许输入大于零的小数和整数

    本文将深入探讨如何在C#中实现一个功能,该功能仅允许用户在文本框(`TextBox`)中输入大于零的小数或整数,同时拒绝任何不符合条件的输入。 ### 核心知识点 #### 1. `KeyPress`事件 在C#中,`TextBox`控件提供了...

    C# 限制textbox只能输入数字 C#限制textbox只能输入数字

    然而,在某些场景下,我们可能希望限制用户只能在TextBox中输入数字,避免输入其他字符,如字母、符号等。这通常在处理诸如电话号码、身份证号、年龄等数值输入时非常有用。以下是如何在C#中实现这一功能的详细步骤...

    C#.net中TextBox输入浮点型数字

    在C#.NET开发中,经常需要对用户输入的数据进行格式控制,特别是当输入框(`TextBox`)用于收集数值时,确保用户只能输入合法的浮点数是非常重要的。本文将详细介绍如何在C#.NET应用程序中实现这一功能。 #### 核心...

    C#winform控件textbox按键输入控制.rar

    通过以上示例,我们可以看出,C# WinForm中的TextBox控件提供了一套灵活的机制,允许开发者根据需求对用户输入进行细致的控制。理解并熟练运用这些技巧,能够提升应用程序的用户体验和功能完善性。在实际开发中,应...

    C#文本框输入提示功能

    在C#编程中,文本框(TextBox)是用户界面中常用的一种控件,用于接收用户的文本输入。在设计用户友好的界面时,我们有时需要为文本框提供输入提示,这通常被称为“水印”或“占位符”效果。当文本框为空时,会显示...

    C#文本框输入数字、小数自动转换为千分位相关

    本文将详细解析如何在C#中实现文本框内的数字、小数自动转换为千分位格式的功能,确保在输入过程中能实时控制焦点位置,提升用户体验。 ### 关键知识点:C#中的数字格式化 #### 1. 数字字符串处理与转换 在给定的...

Global site tag (gtag.js) - Google Analytics