C#のTextBoxコントロールは、数字を入力すると、小数点C#のTextBoxコントロールは、数字のみと小数点を入力できるようにするだけを許可します

C#のTextBoxコントロールは、数字のみと小数点入力することができ  復刻

//キーが入力されるタイプではありませんでした場合。

            IF(((INT)e.KeyChar <48 ||(INT)e.KeyChar> 57である)&&(INT)= e.KeyChar 8 &&(INT)= 46 e.KeyChar !!である。)

                をtrueにe.Handled =; 


            / /小数点を処理します。

            IF((INT)e.KeyChar == 46 )// 小数

            { 

                (textBox1.Text.Length <= 0)IF 

                    e.Handled = trueに、そもそも//ない小数点


                { 

                    フロートF; 

                    フロートOLDF; 

                    BOOL =偽B1、B2 = falseにあり; 

                    B1 = float.TryParse(textBox1.Text、OLDF OUT); 

                    B2 = float.TryParse(textBox1.Text e.KeyChar.ToString +()、OUT F)。

                    IF(B2 ==偽)

                    { 

                        IF(B1 == TRUE)

                            e.Handled = TRUE。

                        それ以外

                            はfalse = e.Handled。

                    } 

                } 

            }

   のみ入力番号の処理:

方法:   
  
プライベートボイドtBox_KeyPress(オブジェクト送信者、KeyPressEventArgs E)   
  
 {   
            IF(e.KeyChar == 0x20の)e.KeyChar =(CHAR)0; //禁止スペースバー   
            IF((e.KeyChar == 0x2D)&& (( (テキストボックス)送信者).Text.Length == 0 ))を返す; // 負プロセス   
            IF(e.KeyChar>は0x20)   
            {   
                試み   
                {   
                    double.Parse(((テキストボックス)SENDER)の.text + e.KeyChar.ToString( ));   
                }   
                キャッチ   
                {   
                    e.KeyChar =(CHAR)0; //プロセス不正な文字   
                }   
            }   
}   
  
方法2:  
  
プライベート無効TextBox_KeyPress(オブジェクト送信者、KeyPressEventArgs E)   
 {   
    場合(e.KeyChar = 8 && Char.IsDigit(e.KeyChar)!!)   
    {   
      e.Handled =はtrue。  
    }   
}   
或者   
  
ます。private void TextBox_KeyPress(オブジェクト送信者、KeyPressEventArgs E)   
{   
    場合(e.KeyChar = '\ B' && Char.IsDigit(e.KeyChar)!!)   
    {   
      e.Handled =はtrue。  
    }   
  
}   
  
方法三:   
  
プライベートボイドtextBox1_KeyPress(オブジェクト送信者、System.Windows.Forms.KeyPressEventArgs E)   
{   
場合(e.KeyChar = '\ B'!)//这是允许输入退格键   
{   
((e.KeyChar場合< '0')||(e.KeyChar> '9'   
E.  =真の取り扱い;
}   
  
方法四:   
  
プライベート無効textBox1_Validating(オブジェクト送信者、CancelEventArgs E)    
{    
constの文字列パターン= @ "^ \ dは+ \ \ D + {1?} QUOT ;;    
文字列の内容=((テキストボックス)送信者)は.text;   
  もし! (Regex.IsMatch(コンテンツ、パターン)))    
{    
errorProvider1.SetError((コントロール)送信者を、 "只能输入数字!");    
e.Cancel = TRUE;    
}    
そう    
errorProvider1.SetError((コントロール)送信者、NULL);    
}   
  
方法五:   
  
プライベートボイドtextBox1_KeyPress(オブジェクト送信者、System.Windows.Forms.KeyPressEventArgs E)   
{   
場合(e.KeyChar == && this.textBox1.Text.IndexOf()= - 1 '' ""!)   
{   
=真e.Handled;   
}  
  
IF(((e.KeyChar> = 48 && e.KeyChar <= 57)|| e.KeyChar == || e.KeyChar == 8)! '')   
{   
e.Handled = TRUE。  
}   
  
}   
  
方法六:   
  
プライベート無効tbx_LsRegCapital_KeyPress(オブジェクト送信者、KeyPressEventArgs E)   
{   
            (!!!Char.IsNumber(e.KeyChar)&& Char.IsPunctuation(e.KeyChar)&& Char.IsControl(e.KeyChar))であれば   
            、{   
                E =真.Handled; //消除不合适字符   
            }   
            それ以外の場合(Char.IsPunctuation(e.KeyChar))   
            {   
                するif(! '' e.KeyChar = || this.textBox1.Text.Length == 0)//小数点   
                {   
                    e.Handled = TRUE。  
                ( ''!textBox1.Text.LastIndexOf()= -1)IF   
                {   
                    e.Handled = trueに;   
                }   
            }         
  }     
  
方法7:   
  
使用してASCIIコードアプローチ、   
{   
  
            (e.KeyChar <|| E = 48(IF。 > = 57は、keyCharある)&&(= e.KeyChar 8)&&(= 46 e.KeyCharある))!!。   
              e.Handled = trueに、   
================ 48は、0を表します。代表9,8代わっスペース57、小数点のための46個のスタンド   
}

  

おすすめ

転載: www.cnblogs.com/michellexiaoqi/p/11457048.html