今天上午纠结一个问题很久,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. Ohana Cleans Up

    Ohana Cleans Up Description Ohana Matsumae is trying to clean a room, which is divided up into an n  ...

  2. js 节点属性

    节点属性 在文档对象模型 (DOM) 中,每个节点都是一个对象.DOM 节点有三个重要的属性 : 1. nodeName : 节点的名称 2. nodeValue :节点的值 3. nodeType ...

  3. Oracle临时表

    1概念理解 ORACLE系统的临时表常被用于存放系统操作的中间数据,由于对临时的任何操作都不产生redo(但会因为修改undo而产生redo),所以临时表的数据操作效率一般都比较高.常用的临时表主要有 ...

  4. zju(1)嵌入式开发环境构建

    1. 实验目的 搭建嵌入式开发环境,安装ubntu,编译交叉工具链,安装配置tftp,nfs.用makefile 编译几个文件,在实验台上运行. 2. 实验内容 1) 安装ubuntu12.04 2) ...

  5. 类似input框内最右边添加图标,有清空功能

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. html 锚点的使用

    html 锚点 到底是干吗的?通俗简单地说,比如一篇很长的文章,你想按分段精确来看,那就可以用到锚点了. 代码:<a href="#001">跳到001</a&g ...

  7. readyState0 1 2 3 4..

    0:请求未初始化(还没有调用 open()). 1:请求已经建立,但是还没有发送(还没有调用 send()). 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头). 3:请求在处理中:通常响 ...

  8. IOS第16天(5,Quartz2D雪花)

    *** #import "HMView.h" @interface HMView() { int count; } @property (nonatomic, assign) CG ...

  9. Oracle-01033错误处理

    今天电脑非常卡,强制重启后,发现oracle 11g启动不了了,提示错误: ERROR - ORA-01033 oracle initialization or shutdown in progres ...

  10. 读过的laravel文章

    Laravel 中使用 JWT(Json Web Token) 实现基于API的用户认证 http://www.tuicool.com/articles/IRJnaa api token https: ...