(原创文章,转载请注明来源:http://blog.youkuaiyun.com/hulihui)
最近看到一些关于TextBox中限制只允许输入数字的博文,这类问题常常用
事后处理模式:录入字符结束后在控件离开(如Exit事件)或确认时进行判断。本文探讨控件录入操作的
事前处理模式:做录入操作时屏蔽非数字字符。下面,结合笔者前段时间修改完善的开源数值文框
TNumEditBox控件,介绍一个基于定制TextBox控件的解决方法。
在定制的TextBox控件中,如果只允许输入数字,需要考虑如下三种情况:
- 正常按键输入的字符,包括西文、中文字符等
- 通过键盘快捷键方式贴入的文本,即Ctrl+V操作
- 通过上下文关联菜单的Mouse操作贴入的文本,即”粘贴“操作
1、重写键盘事件OnKeyPress()
键盘输入的字符可以通过重写TextBox控件的OnKeyPress()事件处理,见如下代码:protected overri