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個のスタンド }