秋枫落叶

秋天到了,枫叶落地,化为尘土

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

只能输入数字的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;
             
        }
posted on 2013-03-25 11:31  林叶飞  阅读(165)  评论(0编辑  收藏  举报