您的位置:程序门 -> .net技术 -> c#



有关testbox输入框的限制问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


有关testbox输入框的限制问题
发表于:2007-01-24 14:12:49 楼主
在输入数据时   只可以在小数点后输入四位数。
例如   12.4556

请指教!
发表于:2007-01-24 14:44:551楼 得分:0
如果可以那不干脆用个     infragistics   netadvantage     控件
实现了控制小数位数
发表于:2007-01-24 14:49:432楼 得分:0
private   void   textbox5_keypress(object   sender,   system.windows.forms.keypresseventargs   e)
{
  e.handled   =   ((e.keychar   <   '0 '   ¦ ¦   e.keychar   > '9 ')   &&   e.keychar   !=   '. ');

  string[]   strs   =   this.textbox5.text.split( '. ');
  if(strs.length   ==   2)
  {
  if(strs[1].length   ==   4   &&   !(e.keychar   ==   (char)keys.back))
  {
  e.handled   =   true;
  }
  else
  {
  e.handled   =   false;
  }
  }
  else   if(e.keychar   ==   (char)keys.back)
  {
  e.handled   =   false;
  }
 
}
发表于:2007-01-24 14:53:573楼 得分:0
\d*(\.{4})?
正则表达式
发表于:2007-01-24 15:00:484楼 得分:0
正则表达试不可以哇?
发表于:2007-01-24 15:22:495楼 得分:0
用正则表达式吧
发表于:2007-01-24 15:23:526楼 得分:0
winform还是webform,是只允许四位小数,还是最多四位小数,这里取后者

webform中可以用regularexpressionvalidator,正则用
^([1-9]\d*(\.\d{0,4})? ¦0(\.\d{1,4})?)$

winform中
  private   void   textbox1_textchanged(object   sender,   eventargs   e)
                {
                        //判断输入是否符合要求
                        regex   r   =   new   regex( "^([1-9]\d*(\.\d{0,4})? ¦0(\.\d{1,4})?)$ ");
                        if   (!r.ismatch   (textbox1.text))
                        {
                                //不符合

                        }
                }
发表于:2007-01-25 08:27:037楼 得分:0
谢谢大家


快速检索

最新资讯
热门点击