日期:2014-05-17  浏览次数:20889 次

c#文本框限制输入
需求是 文本框只能输入 正负数是4位的小数点,如+123.1002 或 -123.0002 这样是不行的 如 +-.123.0002 就是 数字前面只能出现一次 正负符号 还有只能输入 4 位 小数点, 我实在是想不出了  求高手解答 , 在线等

------解决方案--------------------

            if ((e.KeyChar < '0' 
------解决方案--------------------
 e.KeyChar > '9') && e.KeyChar != 8 && e.KeyChar != '.'&&e.KeyChar!='+'&&e.KeyChar!='-')
                e.Handled = true;
            else if (e.KeyChar == '.')
            {
                if (((TextBox)sender).Text.LastIndexOf('.') != -1)
                {
                    e.Handled = true;
                }
            }
           else if(e.KeyChar=='+'
------解决方案--------------------
e.KeyChar=='-')
           {
                if(textBox.Text!="")
                      e.Handled=true;//正负号只能出现在第一位
           }
           else
           {//处理下小数位
                if(textBox.Text!=""&&textBox.Text.LastIndexOf('.')!=-1)
                {
                   if((textBox.Text.Length-textBox.Text.LastIndexOf('.')-1)==4&&e.KeyChar!=8)
                          e.Handled=true;
                }
           } 

我喜欢按照逻辑一点点判断,谁给优化下吧