1. 方法一:
  2. private void tBox_KeyPress(object sender, KeyPressEventArgs e)
  3. {
  4. if (e.KeyChar == 0x20) e.KeyChar = (char)0;  //禁止空格键
  5. if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return;   //处理负数
  6. if (e.KeyChar > 0x20)
  7. {
  8. try
  9. {
  10. double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());
  11. }
  12. catch
  13. {
  14. e.KeyChar = (char)0;   //处理非法字符
  15. }
  16. }
  17. }
  18. 方法二:
  19. private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
  20. {
  21. if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar))
  22. {
  23. e.Handled = true;
  24. }
  25. }
  26. 或者
  27. private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
  28. {
  29. if(e.KeyChar!='\b'&&!Char.IsDigit(e.KeyChar))
  30. {
  31. e.Handled = true;
  32. }
  33. }
  34. 方法三:
  35. private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
  36. {
  37. if(e.KeyChar!='\b')//这是允许输入退格键
  38. {
  39. if((e.KeyChar<'0')||(e.KeyChar>'9'))//这是允许输入0-9数字
  40. {
  41. e.Handled = true;
  42. }
  43. }
  44. }
  45. 方法四:
  46. private void textBox1_Validating(object sender, CancelEventArgs e)
  47. {
  48. const string pattern = @"^\d+\.?\d+{1}quot;;
  49. string content = ((TextBox)sender).Text;
  50. if (!(Regex.IsMatch(content, pattern)))
  51. {
  52. errorProvider1.SetError((Control)sender, "只能输入数字!");
  53. e.Cancel = true;
  54. }
  55. else
  56. errorProvider1.SetError((Control)sender, null);
  57. }
  58. 方法五:
  59. private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
  60. {
  61. if(e.KeyChar=='.' && this.textBox1.Text.IndexOf(".")!=-1)
  62. {
  63. e.Handled=true;
  64. }
  65. if(!((e.KeyChar>=48 && e.KeyChar<=57) || e.KeyChar=='.' || e.KeyChar==8))
  66. {
  67. e.Handled=true;
  68. }
  69. }
  70. 方法六:
  71. private void tbx_LsRegCapital_KeyPress(object sender, KeyPressEventArgs e)
  72. {
  73. if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
  74. {
  75. e.Handled = true;//消除不合适字符
  76. }
  77. else if (Char.IsPunctuation(e.KeyChar))
  78. {
  79. if (e.KeyChar != '.' || this.textBox1.Text.Length == 0)//小数点
  80. {
  81. e.Handled = true;
  82. }
  83. if (textBox1.Text.LastIndexOf('.') != -1)
  84. {
  85. e.Handled = true;
  86. }
  87. }
  88. }
  89. 方法七:
  90. 利用ASCII码处理办法、
  91. {
  92. if ((e.KeyChar <= 48 || e.KeyChar >=57) && (e.KeyChar != 8) && (e.KeyChar != 46))
  93. e.Handled = true;
  94. ================48代表0,57代表9,8代表空格,46代表小数点
  95. }

C#-WinForm-TextBox中只能输入数字的几种常用方法(C#)的更多相关文章

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

    方法一: private void tBox_KeyPress(object sender, KeyPressEventArgs e) { ; //禁止空格键 )) return; //处理负数 if ...

  2. C#-WinForm-Winform TextBox中只能输入数字的几种常用方法(C#)

    方法一: private void tBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyCh ...

  3. C#的winform中控制TextBox中只能输入数字

    C#的winform中控制TextBox中只能输入数字 private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPr ...

  4. winform中如何在TextBox中只能输入数字(可以带小数点)

    可以采用像web表单验证的方式,利用textbox的TextChanged事件,每当textbox内容变化时,调用正则表达式的方法验证,用一个label在text后面提示输入错误,具体代码如下: pr ...

  5. 限定textbox中只能输入数字的小方法

    在textbox中加入onkeyup="this.value=this.value.replace(/\D/g,' ')"即可实现这一功能 验证数字的正则表达式:^[0-9]*$或 ...

  6. 控制input标签中只能输入数字以及小数点后两位

    js 代码如下: /* 控制input标签中只能输入数字 和小数点后两位 */ function checkNum(obj) { //检查是否是非数字值 if (isNaN(obj.value)) { ...

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

    private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { //阻止从键盘输入键 ...

  8. input输入框中只能输入数字,非数字字符自动清除

    前言:项目中有个缴纳保证金的功能,要是输入框只能输入数字,不能输入其他字符. ①HTML代码:<input class="input-box" type="text ...

  9. 关于input只能输入数字的两种小方法

    第一种: 直接给input标签 name赋值如下 <input name="start_price" id="start_price" type=&quo ...

随机推荐

  1. rsync同步常用命令[转载]

    转载:http://blog.csdn.net/niushuai666/article/details/16880061 如果你是一位运维工程师,你很可能会面对几十台.几百台甚至上千台服务器,除了批量 ...

  2. [Training Video - 4] [Groovy] String Functions

    def x="I like to read books before bed" def temp = x.split(" ") log.info "S ...

  3. [Selenium]Release in dragAndDrop doesn't work after i update the version of Selenium to 2.45.0

    在升级Selenium的版本之前,写了一段拖拽的代码,Drag and Drop 都好使的, 但是,将Selenium的版本升级到2.45.0之后,图标拖拽可以成功,释放不生效. 试了N多种解决方案都 ...

  4. Linux中逻辑卷(LVM)管理基本操作

    1.创建逻辑卷 原文:https://linux.cn/article-3965-1.html

  5. CodeForces 686B Little Robber Girl's Zoo (构造冒泡排序)

    题意:给定一排列,让你通过一个区间交换的方式,完成排序. 析:这个题说了,最多不能超过20000次,而 n 最大才100,那么冒泡排序复杂度为 n * n,才10000,肯定是可以的,所以我们就模拟冒 ...

  6. Google Tango SDK下载

    Tango SDK files谷歌Tango开发包 The Tango SDK is under active development; please keep this in mind as you ...

  7. MySQL性能调优与架构设计——第1章 MySQL 基本介绍

    第1章 MySQL 基本介绍 前言:作为最为流行的开源数据库软件之一, MySQL 数据库软件已经是广为人知了. 但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介绍.主 ...

  8. JAVA反射机制o

    Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性.例如,使用它能获得 Java 类中 ...

  9. java try catch finally return执行

    public static int testBasic(){ int i = 1; try{ i++; System.out.println("try block, i = "+i ...

  10. Linux Socket - UDP链接包

    LINUX UDP SOCKET 01 UDP号绑定会报错吗? 会的,提示Address is using,本地的没有区别 UDP不需要发起链接,不知道是不是连接成功 client的IP地址和端口号不 ...