`
net_liu
  • 浏览: 232598 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

 

文章分类:.net编程

1.

      在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;
            }
        }
    }
   


2.

      在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。    
      拖一个Textbox到窗体上,添加OnKeyPress事件,在事件写判断的代码,只要判断不是这些键,设置e.Handled的值为true,就可以屏蔽输入。
     1.判断是否为数字或Backspace,按下面这样写的话只能输入数字和Backspace,所以还得给代码添加些条件,还要能够输入小数点。

            int kc = e.KeyValue;

            if (kc != 8)
                if (!((kc > 47 && kc < 58) || (kc > 95 && kc < 106)))
                    e.Handled = false;

 

 

 

     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;   
        }   
    }   
}  

 

分享到:
评论

相关推荐

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

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

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

    总之,通过深入理解事件处理机制、字符识别与处理、文本选择状态的考虑,以及代码的优化与调试技巧,我们可以有效地在WinForms应用程序中实现对`TextBox`输入限制的需求,提升软件的功能性和用户体验。这不仅是对...

    C#Winform的textbox不能输入汉字的解决方法大全

    C#Winform的textbox不能输入汉字的解决方法大全

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

    1. **数字输入限制**:如果要确保TextBox只接受数字输入,可以在`KeyPress`事件中检查`e.KeyChar`的值。如果它不是数字或退格键,就取消事件处理,阻止其他字符输入。 ```csharp private void textBox1_KeyPress...

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

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

    C#winform限制文本框输入double类型值

    通过上述分析,我们可以看到在C# WinForm开发中,限制文本框输入特定类型的数据不仅能够提升应用程序的健壮性,还能有效提高用户的输入效率和准确性。这种技术不仅适用于C#,其核心思想也可以应用于其他编程语言中。

    C#Winform透明Textbox控件

    首先,"C#Winform透明Textbox控件"指的是在Winform应用中实现一个TextBox,它的背景可以是透明的,允许用户看到TextBox背后的窗体或其他控件。这种功能在设计具有现代感的用户界面时特别有用,因为它可以让UI更加...

    C#winform textbox 画边框和圆角

    为Winform中的Textbox添加圆角和边框,圆角大小和边框大小可以设置

    c# winform 中让文本框可以用扫描枪输入,而不能用键盘输入

    在 C# WinForm 应用程序中,限制文本框的输入源是一个常见的需求,例如,限制文本框只能接受扫描枪的输入,而不能接受键盘的输入。下面我们将详细介绍如何实现这个功能。 限制文本框输入源的原因 在实际应用中,...

    C#代码高亮的WinForm的TEXTBOX控件

    C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码高亮的WinForm的TEXTBOX控件C#代码...

    C# WinForm控件TextBox扩展显示为一条线

    在提供的文件“TextBoxExBorder”中,可能包含了这个自定义控件的完整实现,包括可能的额外功能,如文本验证或输入限制。而“ValidateDemo”可能是一个演示程序,展示了如何在实际应用中使用这个自定义控件,可能...

    C# WinForm TextBox猜想输入和历史记录输入(源码)

    在C# WinForm开发中,TextBox控件是用于用户输入文本的基本组件。为了提升用户体验,开发者经常需要实现一些高级功能,比如猜想输入和历史记录输入。这两种功能在很多应用程序中都十分常见,例如搜索引擎、自动补全...

    C#中winform控制textbox输入只能为数字的方法

    本文实例讲述了C#中winform控制textbox输入只能为数字的方法。分享给大家供大家参考。具体实现方法如下: 添加keyPress事件,控制键盘输入只能是自然数: 代码如下: /// /// 控制键盘输入只能是自然数 /// /// ”...

    winform自定义TextBox带下划线输入,透明TextBox代码重写

    winform下输入文本框textbox重写实现透明,自带下划线输入框。

    winform textBox限制输入特殊字符如~!

    而与输入限制相关的事件主要是`KeyPress`事件,它在用户按下键盘键时触发。 要限制特定字符的输入,我们需要自定义`KeyPress`事件的处理。下面是一个示例代码,演示如何阻止用户输入"~"和"!": ```csharp private ...

    winform下自定义textbox定义半透明自定义圆角大小等

    继承Control的自定义textbox感谢某位高人的指点。 可以自己设置透明度、设置背景颜色、设置圆角大小、设置最大多少字符、设置显示的密码字符

    winform下TextBox自动提示功能

    在Windows Forms(WinForm)开发中,TextBox控件是最常用的一种元素,用于接收用户的文本输入。为了提升用户体验,我们常常需要实现一个自动提示(Auto-Suggest或Auto-Complete)的功能,当用户在TextBox中输入文字...

    winform里textBox无法获得焦点的解决方案

    在WinForm应用中,textBox是一个常用的控件,用于接收用户的输入。但在某些情况下,textBox可能会出现无法获得焦点的情况,即用户无法通过点击或键盘操作将焦点移动到该textBox上进行输入。这不仅影响用户体验,也...

Global site tag (gtag.js) - Google Analytics