今天上午纠结一个问题很久,silverlight TextBox限制用户规则输入,要求只能输入正整数或则小数,小数点只能有且只有一个

刚开始的时候就是想直接用keyDown事件里面来解决

   voidtxtParData_KeyDown(objectsender, KeyEventArgse) {

            TextBoxtxt=senderasTextBox;

            if (txt.Text.Length>=10) {

                e.Handled=true;

            }else

            {

                //屏蔽非数字按键,只能输入小数,e.handled为true时代表没有录入,为false时代表已录入

                if ((e.Key>=Key.NumPad0&&e.Key<=Key.NumPad9) || (e.Key>=Key.D0&&e.Key<=Key.D9) ||e.Key==Key.Unknown||e.Key==Key.Decimal) {

                    if (txt.Text.Contains(".") &&e.Key==Key.Decimal) {

                        e.Handled=true;

                        return;

                    }

                    e.Handled=false;

                }

                else{

                    e.Handled=true;

                }

            }

}

发现这个根本不能满足要求,于是去找各种正则,进行匹配,依然不够好,纠结半天,最后老大一个点子,说这个可以再TextChanged 进行解决,才发现自己绕了很多弯路,代码

voidtxtParData_TextChanged(objectsender, TextChangedEventArgse) {

            if ((senderasTextBox).Text.Length>0 ) {

                doublesPEED;

                if (!Double.TryParse((senderasTextBox).Text,outsPEED)||(senderasTextBox).Text.Length>10) {

                    (senderasTextBox).Text= (senderasTextBox).Text.Substring(0, (senderasTextBox).Text.Length-1);

                    (senderasTextBox).SelectionStart= (senderasTextBox).Text.Length;

                }

            }

        }

Double.TryParse//将数字的字符串表示形式转换为它的等效双精度浮点数。一个指示转换是否成功的返回值。

今天第一次用,发现这个真是一个好东东,轻易解决我纠结2个多小时的东西。。。

学艺不精,不懂的太多了,慢慢学,一点点进步...

Silverlight 限制 规则输入(正整数或小数)的另一种“技巧”写法的更多相关文章

  1. input输入框限制输入正整数、小数、字母、文字

    有的时候需要限制input的输入格式: 例如,输入大于0的正整数 <input onkeyup="if(this.value.length==1){this.value=this.va ...

  2. input框限制只能输入正整数、字母、小数、

    这篇博文大部分来自于网上,为了方便自己查阅,以及帮助他人.   1,只能输入正整数 <input onkeyup="if(this.value.length==1){this.valu ...

  3. input框只允许输入正整数、正数(包含小数)的解决方法 vue.js实现

    我来打自己脸了!!!!...刚刚发现在中文输入法下是无效的,有人能解决这个问题么 如果要求input只能输入数字怎么做? 设置type="number" ? 那我如果想限制长度,此 ...

  4. Android限定EditText的输入类型为数字或者英文(包括大小写),EditText,TextView只能输入两位小数

    Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听密码输入框的输入内容类型,不可以输入中文    TextWatcher mTextWatcher = new Tex ...

  5. JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金)

    第一: 限制只能是整数 <input type = "text" name= "number" id = 'number' onkeyup= " ...

  6. input输入框只能输入正数和小数(保留小数点后两位)

    1.限制只能输入正数和小数保留小数点后两位 1 <input type="number" id="txtNum" /> 2 3 <script ...

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

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

  8. Jquery 校验文本框只能输入负数、小数、整数

     /*   umlzhang    date:2013-09-12   */   //检验只能输入整数,小数和负数    $(function () {          var obj = $(&q ...

  9. EditText 限制输入整数和小数 的位数

    如题,本文主要说的就是  如何限制 EditText 中 可输入整数和小数 的位数 . 近期,由于公司业务需求中有价格输入功能,给出的要求说是,必须整数能输入几位,小数能输入几位...好嘛,产品一句话 ...

随机推荐

  1. ArcGIS AddIN开发之COM对象写入注册表

    做一个交互式绘制文字的工具,希望这次设置的Symbol,下次打开ArcMap时自动调用这个Symbol,并支持对其进行修改. 解决方法是将这个Symbol写入注册表中,每次自动读取上一次设置的Symb ...

  2. spring security 判断用户是否登录 只要登录就可以访问资源

    有些情况,只要用户登录就可以访问某些资源,而不需要具体要求用户拥有哪些权限,这时候可以使用IS_AUTHENTICATED_FULLY,配置如下所示: <http auto-config='tr ...

  3. CSS3初学篇章_3(属性选择符/字体样式/元素样式)

    属性选择符  选择符  说明  E[att]  选择具有att属性的E元素.  E[att="val"]  选择具有att属性且属性值等于val的E元素.  E[att~=&quo ...

  4. c# 基础部分 (基本数据类型-- 表达式)

    一 基础部分 1.常用的基本数据类型 int  longing(长整) shortint(短整) string(文本型) char(字符型) bool (布尔型) false true 2.常量于变量 ...

  5. BizTalk动手实验(一)安装BizTalk Server 2010开发环境

    1 课程简介 通过本课程了解BizTalk 2010的软依赖及基本的安装配置步骤,BizTalk相应的解决方案及高可用性方案可在课程的基础进行深入学习. 2 准备工作 硬件环境:CPU >2.0 ...

  6. Android课程---视图组件的总结

  7. php课程---JavaScript与Jquery的区别

    使用Jquery必须在页面内引入一个Jquery包 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  8. iTop各数据表联系图(持续更新中)

  9. html5:地理信息 LBS基于地理的服务和百度地图API的使用

    地理位置请求 单次定位请求getCurrentPosition(请求成功函数,请求失败函数,数据收集方式) 多次定位请求watchPosition(请求成功函数,请求失败函数,数据收集方式) 关闭更新 ...

  10. C语言输入多组问题~ungetc回退字符到stdin

    题目描述 输入数组长度 n 输入数组      a[1...n] 输入查找个数m 输入查找数字b[1...m]   输出 YES or NO  查找有则YES 否则NO . 输入描述: 输入有多组数据 ...