大佬教程收集整理的这篇文章主要介绍了Silverlight限制TextBox只能输入整数或者小数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
http://www.cnblogs.com/greatverve/archive/2010/06/25/silverlight-textBox-limit.html
Silverlight功能还不完善,简化了一下WebForm或者WinForm的同类方法。
参考一:
以下实现TextBox只能输入小数并且屏蔽中文输入和非法粘贴:
说明:以下实现均在Framework 3.0平台下
为TextBox加两个事件:TextChanged和KeyDown事件,具体如下:
KeyDown事件:
值得注意的是TextChange类,是Framework 3.0SP1和3.5中新增的,3.0本身是没有的
参考二:C#Winform下用正则表达式限制TextBox只能输入数字
昨天,在网上特别是园子里搜了下如何在Winform下限制TextBox只能输入数字的功能。可是结果基本上都是在web的环境下用正则表达式实现的,而在Winform的平台下,好像没有发现。 就自己循着思路实现了下。
首先,先定义一个String,用来表示数字的正则表达式:
接着,我们就可以在textBox的TextChanged事件中判断输入的是否是数字,如果是数字,那么就把文本框的内容保存在param1中;如果不是数字,那么取消这次输入,即重新设置文本框的内容为param1:
这样,就基本上实现了用正则表达式限制TextBox的输入数字了。
其他的现在也是类似,只要设定比较的正则表达式的内容即可。
参考三:Silverlight开发中的疑难杂症-控件设计篇-如何实现一个NumericBox(上)
在最近的Silverlight开发中,发现一个需求,需要一个只能够输入数字,并且能够对小数点后的位数进行控制并填充的控件,原有的TextBox并不能实现这一个功能,于是就决定自己实现一个,要包含的具体的功能如下:
l 能够屏蔽通过非正常途径的不正确输入(输入法,粘贴等);
l 能够控制小数点后的最大位数,超出位数则无法继续输入;
l 能够选择当小数点数位数不足时是否补0;
l 去除开头部分多余的0(为方便处理,当在开头部分输入0时,自动在其后添加一个小数点);
l 由于只能输入一个小数点,当在已有的小数点前再次按下小数点,能够跳过小数点;
在实现前参考了许多网上的相关资料,虽然没有找到具体的实现代码,但是还是得到了很多有用的思路,最终决定将上述功能分成两个部分来实现:其中控制只能输入数字的部分作为一个通用的TextBoxFilterBehavior进行设计;而格式化的部分则在NumericBox内部实现,下面首先介绍TextBoxFilterBehavior的实现。
在实现之前,首先查看了TextBox的相关事件,发现Silverlight中的事件比WPF来说有了很大的减少,没得选择,可用的事件只有KeyDown跟TextChanged。这里使用KeyDown事件来处理按键产生的输入,TextChanged事件来处理通过其它方式进行的输入(其实完全可以都在TextChanged事件中进行处理,我也想不通为什么自己选择分开进行~)。
由于要做成一个通用的TextBox筛选行为,所以这里添加了一个筛选类型的枚举选项TextBoxFilterOptions,里面暂时只有数字、小数点跟字母,留待以后扩充,实现代码如下:
其中ContainsOption方法是一个提供了方便的枚举运算的扩展方法。
另外还增加了一个键盘操作的帮助类KeyboardHelper,在实现时发现Silverlight中的按键比WPF中少了很多,甚至连主键盘上的小数点键(句号)都无法识别,这里使用了一个平台相关的keycode进行判别,如果有更好的方法请给我留言。代码如下:
以上是大佬教程为你收集整理的Silverlight限制TextBox只能输入整数或者小数全部内容,希望文章能够帮你解决Silverlight限制TextBox只能输入整数或者小数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。