`
likaidalian
  • 浏览: 54024 次
社区版块
存档分类
最新评论

【转】Winform TextBox中只能输入数字的几种常用方法(C#)

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

出处:http://blog.csdn.net/hjingtao/article/details/7302448

方法一:

private void tBox_KeyPress(object sender, KeyPressEventArgs e)

 {
            if (e.KeyChar == 0x20) e.KeyChar = (char)0;  //禁止空格键
            if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return;   //处理负数
            if (e.KeyChar > 0x20)
            {
                try
                {
                    double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());
                }
                catch
                {
                    e.KeyChar = (char)0;   //处理非法字符
                }
            }
}

方法二:

private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
 {
    if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar))
    {
      e.Handled = true;
    }
}
或者

private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if(e.KeyChar!='\b'&&!Char.IsDigit(e.KeyChar))
    {
      e.Handled = true;
    }

}

方法三:

private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar!='\b')//这是允许输入退格键
{
if((e.KeyChar<'0')||(e.KeyChar>'9'))//这是允许输入0-9数字
{
e.Handled = true;
}
}
}

方法四:

private void textBox1_Validating(object sender, CancelEventArgs e)
{
const string pattern = @"^\d+\.?\d+{1}quot;;
string content = ((TextBox)sender).Text;

if (!(Regex.IsMatch(content, pattern)))
{
errorProvider1.SetError((Control)sender, "只能输入数字!");
e.Cancel = true;
}
else
errorProvider1.SetError((Control)sender, null);
}

方法五:

private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar=='.' && this.textBox1.Text.IndexOf(".")!=-1)
{
e.Handled=true;
}

if(!((e.KeyChar>=48 && e.KeyChar<=57) || e.KeyChar=='.' || e.KeyChar==8))
{
e.Handled=true;
}

}

方法六:

private void tbx_LsRegCapital_KeyPress(object sender, KeyPressEventArgs e)
{
            if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;//消除不合适字符
            }
            else if (Char.IsPunctuation(e.KeyChar))
            {
                if (e.KeyChar != '.' || this.textBox1.Text.Length == 0)//小数点
                {
                    e.Handled = true;
                }
                if (textBox1.Text.LastIndexOf('.') != -1)
                {
                    e.Handled = true;
                }
            }     
  } 

方法七:

利用ASCII码处理办法、
{

            if ((e.KeyChar <= 48 || e.KeyChar >=57) && (e.KeyChar != 8) && (e.KeyChar != 46))
              e.Handled = true;
================48代表0,57代表9,8代表空格,46代表小数点
}

分享到:
评论

相关推荐

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

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

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

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

    C#Winform透明Textbox控件

    在本文中,我们将深入探讨如何在C# Winform应用程序中创建一个背景透明的TextBox控件。这个主题主要涉及C#编程语言,Windows Forms(Winform)框架,以及自定义控件开发。 首先,"C#Winform透明Textbox控件"指的是...

    winform下TextBox自动提示功能

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

    .net(c#) winform文本框只能输入数字,不能其他非法字符.pdf

    .NET (C#) WinForm 中,需要控制 TextBox 只能输入数字,而不能输入其他非法字符。下面是实现这种功能的几种方法: 方法一:使用 KeyPress 事件 在 TextBox 的 KeyPress 事件中,使用 `e.Handled` 属性来阻止从...

    textbox垂直居中

    要实现TextBox在Panel中的垂直居中,通常有以下几种方法: 1. **使用Anchor属性**:将TextBox的Anchor属性设置为Top和Bottom,这样TextBox会根据Panel的高度自动调整自身的高度并保持上下边距相等,从而实现居中。...

    C# 加减乘除 小练习(winform)

    - 在设计视图中,添加必要的控件,例如四个TextBox(用于输入数字)和四个Button(分别对应加、减、乘、除操作),另外还需要一个TextBox或Label用于显示结果,以及可能的一个Button用于保存成绩。 2. **处理用户...

    C#实现回车光标自动跳到下一个控件的几种方法

    1. **事件处理**:在C#中,事件是对象之间通信的一种方式,当特定条件满足或动作发生时,事件会被触发。例如,当用户按下回车键时,会触发TextBox的`KeyDown`事件。 2. **键盘事件**:`KeyDown`事件是用于捕获用户...

    c# winform 向导 Wizard

    在C#中,可以使用UserControl类作为Wizard页面的基础,然后添加所需的控件,如Label、TextBox、Button等。页面之间的切换可以通过事件处理程序实现。 4. **实现向导逻辑** 使用C#,我们可以为“下一步”和“上一步...

    C#文本框输入提示功能

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

    C#的winForm开发

    4. **布局管理**:WinForm提供了几种布局管理器,如FlowLayoutPanel和TableLayoutPanel,帮助开发者轻松地组织和调整控件的位置,以适应不同屏幕尺寸和分辨率。 5. **数据绑定**:C#的WinForm支持数据绑定,能够将...

    textbox控件使用方法

    在C#中,可以通过递归方法遍历一个WinForm表单上的所有子控件,查找TextBox控件并设置其文本。如上面代码所示,有几种不同的实现方式: - 第一种方法使用了递归,检查每个控件是否包含子控件,如果是,则继续遍历...

    C# winform 第三方控件

    在.NET框架中,C#是一种常用的编程语言,用于构建各种应用程序,其中WinForms是一个用于创建桌面应用程序的平台。为了丰富WinForms应用的界面和功能,开发者通常会利用第三方控件来增强用户体验。本文将深入探讨C# ...

    C#winform图片裁剪

    C#中的System.Threading命名空间提供了Thread、ThreadPool和Task类,可以用于实现后台处理,保持界面响应。 4. **事件驱动编程**:WinForm应用程序是事件驱动的,用户操作会触发控件的事件。例如,当用户移动滚动条...

    C# Winform 二维码生成工具

    在C#中,我们可以使用第三方库来处理二维码的生成和解码。 在C# Winform环境下,一个基本的二维码生成工具的开发流程通常包括以下几个步骤: 1. 引入库:为了生成二维码,我们需要引入支持二维码编码的库。例如,...

    C# winform的计算器

    WinForm则是C#中用于构建图形用户界面(GUI)的库,它提供了丰富的控件和事件处理机制,使得开发者可以轻松地创建交互式窗口应用。 创建一个WinForm计算器主要涉及以下几个关键知识点: 1. **WinForm控件**:...

    C#界面编程Winform,最详细demo!

    2. **布局管理**:Winform提供了几种布局方式,如FlowLayoutPanel、TableLayoutPanel和StackPanel,帮助开发者组织和定位控件。例如,FlowLayoutPanel会自动调整控件的位置以适应容器的大小变化,而TableLayoutPanel...

    C# WinForm数据库入门

    在本文中,我们将深入探讨"C# WinForm数据库入门"这一主题。C# WinForm是Microsoft .NET Framework提供的一种用于创建桌面应用程序的用户界面框架。它允许开发者构建具有丰富图形界面的应用程序,而数据库连接功能则...

    C#之模仿office界面布局程序框架winForm

    C#中实现Ribbon界面,通常会用到System.Windows.Forms.Ribbon命名空间下的类,如RibbonControl和RibbonTab。 系统包含的文件有以下几个: 1. 更多C#源码下载.url:这可能是一个链接,指向更多C#相关的学习资源或...

    WinForm随机验证码-简单版

    4. **处理用户输入**:在WinForm中,可以添加一个TextBox让用户输入看到的验证码,并设置一个按钮触发事件来验证用户输入是否与生成的验证码匹配。 ```csharp private void btnVerify_Click(object sender, ...

Global site tag (gtag.js) - Google Analytics