zoukankan      html  css  js  c++  java
  • C# Winform只能输入数字的TextBox补充

    原代码:

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
      if(!char.IsDigit(e.KeyChar)) e.Handled = true;
      //'\b'是退格键值
      if(e.KeyChar=='\b'||e.KeyChar=='.') e.Handled = false;
    }

    以上代码是无法限制全角数字输入的.而在项目中全角数字是不能算真正的数字,因为在参加计算时全角可能会出错.
    修改的代码:

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
      //全角占一个汉字,半角点半个汉字,所以在字节上是不同的
      //全角数字"KeyChar"=2,半解数字"KeyChar"=1
      byte[] array = System.Text.Encoding.Default.GetBytes(e.KeyChar.ToString());
      //array.LongLength,而不是array.Length
      if (!char.IsDigit(e.KeyChar)|| array.LongLength==2) e.Handled = true;
      //'\b'是退格键值
      if (e.KeyChar == '\b' || e.KeyChar == '.') e.Handled = false;
    }

    http://www.cnblogs.com/robber/archive/2008/02/15/1069655.html

  • 相关阅读:
    ES6 解构
    一些vue的知识点
    CSS选择器
    Django学习--介绍Django
    正则表达式
    ftp命令
    Vim学习指南
    关于ACM与OJ
    brctl命令
    LXC
  • 原文地址:https://www.cnblogs.com/emanlee/p/1531253.html
Copyright © 2011-2022 走看看