扩展控件--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.gif namespace  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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值