TextBox输入到3位数字就直接加个点

今天CSDN上有个朋友问了这样的一个问题
"如果输入的是非数字或“.”,则不让他输入。如果输入到3位数字就直接加个点"
而且要求是在Win下面的,很多朋友会说用到正则表达式,但是本人就正则实在是太菜了,所以就用自己的办法来实现:
1:先定义一个类级别的变量 private int _node =1;
                                                 private int _lostV=1;
2:然后直接在TextBox的KeyPress事件里面来实现,代码如下
public void TextBox1.KeyPress(object sender,System.Windows.Forms.KeyPressEventArgs e)
{
      if(e.KeyChar >=48 && e.KeyChar<=57)
      {
         e.Handled =false;
         int _nodeCount= TextBox2.Text.Split('.').Lenght;
         _node = _nodeCount;
         _lostV = _node -1 ;
         if(TextBox1.TextLenght>0 && TextBox1.TextLenght % (3*_node + _lostV) ==0)
        {
            TextBox1.Text = TextBox1.Text + ".";
            TextBox1.SelectionStart = TextBox1.TextLenght;
         }
      }
}

null

哈哈,不知道还有没有其他好的办法呢????

转载于:https://www.cnblogs.com/zyzhang/archive/2008/06/17/1224078.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值