zoukankan      html  css  js  c++  java
  • Winform TextBox中只能输入数字的几种常用方法(C#)

    方法一:
    
    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!=''&&!Char.IsDigit(e.KeyChar))
        {
          e.Handled = true;
        }
    
    }
    
    方法三:
    
    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if(e.KeyChar!='')//这是允许输入退格键
    {
    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代表小数点
    }
  • 相关阅读:
    修复PLSQL Developer 与 Office 2010的集成导出Excel 功能
    Using svn in CLI with Batch
    mysql 备份数据库 mysqldump
    Red Hat 5.8 CentOS 6.5 共用 输入法
    HP 4411s Install Red Hat Enterprise Linux 5.8) Wireless Driver
    变更RHEL(Red Hat Enterprise Linux 5.8)更新源使之自动更新
    RedHat 5.6 问题简记
    Weblogic 9.2和10.3 改密码 一站完成
    ExtJS Tab里放Grid高度自适应问题,官方Perfect方案。
    文件和目录之utime函数
  • 原文地址:https://www.cnblogs.com/Akgu/p/4819056.html
Copyright © 2011-2022 走看看