在textBox中只允许输入整数或小数和使用退格键。

最佳方案第一个.

 

  private   void  textBox1_KeyPress( object  sender, KeyPressEventArgs e)
        
{
            
//IsNumber:指定字符串中位于指定位置的字符是否属于数字类别 
            
//IsPunctuation:指定字符串中位于指定位置的字符是否属于标点符号类别 
            
//IsControl:指定字符串中位于指定位置的字符是否属于控制字符类别 
            if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
            
{
                e.Handled 
= true; //获取或设置一个值,指示是否处理过System.Windows.Forms.Control.KeyPress事件 
            }

            
else if (Char.IsPunctuation(e.KeyChar))
            
{
                
if (e.KeyChar == '.')
                
{
                    
if (((TextBox)sender).Text.LastIndexOf('.'!= -1)
                    
{
                        e.Handled 
= true;
                    }

                }

                
else
                
{
                    e.Handled 
= true;
                }

            }
 

        }

 

private     void    textBox1_KeyPress( object    sender,   System.Windows.Forms.KeyPressEventArgs   e)   
  
{   
  
if(e.KeyChar==8)   
  
{   
  
return;   
  }
   
  
if(e.KeyChar==46   &&   textBox1.Text.IndexOf('.')==-1)   
  
{   
  
return;   
  }
   
  
if(e.KeyChar>57   ||   e.KeyChar<48)   
  
{   
  e.Handled
=true;   
  
this.Focus();     
  }
   
  }
 function KeyPress(objTR)
{
   var txtval = objTR.value;
   var key = event.keyCode;
   if((key 
< 48  || key  > 57)& &key  !=46)
   {
         event.keyCode = 0;
   }
   else
   {
         if(key == 46)
         {
               if(txtval.indexOf(".") != -1 || txtval.length == 0)
                     event.keyCode = 0;
         }
   }


你可能感兴趣的:(textbox)