扩展控件--NumberTextBox


      有些时候我们要限制TextBox的输入 ,比如age  telephone等字段,故我们要在其某些事件里处理,如果那样的话下次再遇到此类情况我们又的重复操作,在此我们对其进行扩展使其只可以接受 Number输入,这里我们override 其WndProc 方法。
   1. 建立一个Bank Solution   添加一个Class Library Project named  NumberTextControl  
   2. 右键 References 选择Add Reference  添加 System.Windows.Forms  命名空间
   3. override WndProc 方法, 代码如下:
   
None.gifnamespace NumberTextControl
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
public class NumberControl : TextBox
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif
InBlock.gif        
protected override void WndProc(ref Message m)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if (m.Msg == 0x0102 && !Char.IsControl((char)m.WParam))
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
if (Char.IsNumber((char)m.WParam))
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
base.WndProc(ref m);
ExpandedSubBlockEnd.gif                }

InBlock.gif                
return;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
base.WndProc(ref m);
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}


   4. Test Project 
         再给Solution 添加一个 Windows Application Project  Named NumberFormTest 
   拖我们刚创建的NumberControl 在 Fom1上 再拖一个TextBox 控件到Form1上 Run Project Testing 。
好了我们的扩展TextBox 到此就完了, 怎么样 还行吧 。原代码:NumberTextBox


 

转载于:https://www.cnblogs.com/jeriffe/articles/629221.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI战略投资全景图:11个行业200多家巨头最爱什么样的AI创业公司?

原作 Kyle Kling李杉 编译自 LinkedIn量子位 出品 | 公众号 QbitAI各行各业都在谈人工智能,各类企业都想运用这项技术来提升自己、捍卫行业地位。究竟哪些行业、哪些公司最积极?哪些AI细分方向最受重视?MDI Ventures美国投资总监Kyle Kling分…

使用javafx百行代码搞定多边形面积计算(可下载)

输出多边形面积 一、使用JavaFX Scene Builder 2.0制作界面,因为比较懒,直接偷工减料😁😁😁 界面部分非常简陋 1.引入库 //main.java 部分 public class main extends Application {Overridepublic void start(Stage…

Extract Interface(提炼接口)

两个类的接口有部分相同 重构:将相同的子集提炼到一个独立接口中

Collapse Hierarchy(折叠继承体系)

超类和子类之间无太大区别 重构:将它们合为一体

65% 的钱被头部玩家拿走,人工智能要进入下半场?

来源:IT桔子概要:2017年,自动驾驶、医疗影像、AI教育成为焦点;一多半AI风险投资被第一梯队选手收入囊中,并快速成长为独角兽。2017年,自动驾驶、医疗影像、AI教育成为焦点;一多半AI风险投资被第…

Form Template Method(塑造模板函数)

有一些子类,其中相应的某些函数以相同顺序执行类似的操作,但各个操作的细节有不同 重构:将这些操作分别放进独立函数中,并保持它们都有相同的签名,然后将原函数上移至超类

自动驾驶第一案结果敲定,谷歌无人驾驶和Uber达成2.5亿美元和解协议

来源:36氪概要:Uber 与谷歌无人驾驶部门 Waymo 的法律纠纷以庭外和解的方式告一段落。Uber 与谷歌无人驾驶部门 Waymo 的法律纠纷以庭外和解的方式告一段落。上周五 ,Uber 表示,公司已经和 AlphabetInc 旗下的无人驾驶汽车公司 Wa…

物联网将在2018年实现大规模发展:以下是IBM的4大预测

来源:forbes物联网智库 编译概要:随着连接设备的数量达到110亿台(不包括电脑和手机的连接量),很显然,在2018年,物联网将继续成为热点话题。随着连接设备的数量达到110亿台(不包括电脑…

Replace Inheritance with Delegation(以委托取代继承)

某个子类只使用超类接口中的一部分,或是根本不需要继承而来的数据 重构:在子类中新建一个字段用来保存超类,调整子类函数,令它改而委托超类,然后去掉两者的继承关系

国家重点研发计划高新领域 “智能机器人、网络协同制造和智能工厂”重点专项2018年度项目申报指南建议

来源:机器人创新生态概要: 针对我国网络协同制造和智能工厂发展模式创新不足、技术能力尚未形成、融合新生态发展不足、核心技术/软件支撑能力薄弱等问题。征求意见时间为2018年2月8日至2018年2月22日。电子邮箱:重点专项名称邮箱地址智能机器…

Replace Delegation with Inheritance(以继承取代委托)

两个类之间使用委托关系,并经常为整个接口编写许多极简单的委托函数 重构:让委托类继承受托类

人造神经元计算速度超过人脑

来源:《科学进展》概要:一种以神经元为模型的超导计算芯片,能比人脑更高效快速地加工处理信息。一种以神经元为模型的超导计算芯片,能比人脑更高效快速地加工处理信息。近日刊登于《科学进展》的新成果,或许将成为科学…

[导入]将Byte数组转化为String

文章来源:http://blog.csdn.net/21aspnet/archive/2007/03/24/1539848.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2007/03/24/816232.html

Command 和 Active Object 模式

Command 和 Active Object 模式 Command 模式是封装了一个没有任何变量的函数。 public interface Command {public void do(); } 简单的Command 打印机工作流 开启/关闭继电器—RelayOnCommand、RelayOffCommand; 开启/关闭发动机—MotorOnCommand、MotorOffC…

成员函数指针作为参数是,静态函数和非静态函数的区别

成员函数指针作为参数时,静态函数和非静态函数的区别 举个 QT 的例子(没学过QT的也不要紧,这适用于学习C的同学),当我有两个类,Teacher 类和 Student 类。现在有一个场景就是,Teacher 类会发出…

谷歌云TPU服务正式全面开放:「AlphaGo背后的芯片」进入商用化

来源:机器之心概要:作为科技巨头的谷歌早已把这种高度定制化产品应用在了自己的服务器中,而本周一,谷歌宣布其他公司马上也将可以享受新型芯片带来的计算服务了。2016 年 5 月,谷歌向世人发布了一款特别的机器学习专属…

波士顿动力新年视频第一发,机器人狗能为朋友开门了!

来源:36氪概要:波士顿动力公司的那只黄色机器人狗SpotMini,你还记得吗?波士顿动力公司的那只黄色机器人狗SpotMini,你还记得吗?它上一次亮相是在去年11月,当时它还在一片后院的草地上恣意奔跑。…

Makefile详解——从入门到精通

转自ChinaUnix,作者gunguymadman,陈皓。链接地址:http://www.chinaunix.net/jh/23/408225.html 陈皓 CSDN 博客:http://blog.csdn.net/haoel/article/details/2886 http://blog.csdn.net/ruglcc/article/details/7814546 写的相…

是时候不把智能手机叫做电话了:移动AI时代来临!

来源:EET电子工程专辑概要:全新的iPhone X集成了用于人脸识别的神经引擎,但这仅仅是一个开始。全新的iPhone X集成了用于人脸识别的神经引擎,但这仅仅是一个开始。嵌入式神经引擎和专用智能处理器在边缘设备上实现了人工智能(AI)&…

拥抱AI大趋势,ARM发布两款AI芯片架构

来源:量子位概要:ARM发布了两款针对移动终端的AI芯片架构,物体检测(Object Detection,简称OD)处理器和机器学习(Machine Learning,简称ML)处理器。今天,ARM发…