TextBox控制項中只輸入整數的幾種方法

2021-09-05 19:34:31 字數 1031 閱讀 4280

方法一.  

if(e.keychar!=8&&!char.isdigit(e.keychar)&&e.keychar!='.')

方法二: if ((e.keychar < 48 || e.keychar > 57) && (e.keychar != 8) &&e.keychar!='.') 

方法三:if (!char.isnumber(e.keychar) && !char.ispunctuation(e.keychar) && !char.iscontrol(e.keychar))   

解釋:其中e.keychar是鍵盤輸入的鍵對應的字元,isdigit函式可以判斷是否為0到9的數字,chr(8)

為退格鍵,當e.handled為true時,程式認為該keypress事件已經被處理過了,文字框的內容也就不會發生變化

如果文字需要輸入小數的話,就要能夠輸入小數點".",而且小數點只能輸入一次

//isnumber:指定字串中位於指定位置的字元是否屬於數字類別 

//ispunctuation:指定字串中位於指定位置的字元是否屬於標點符號類別 

//iscontrol:指定字串中位於指定位置的字元是否屬於控制字元類別 

注意: 這裡是在輸入時便限制其他型別的字元被寫入 textbox;

就是說你不輸入正確或你輸入的不是數字我就不讓你做其他任何工作!

霸道吧? 呵呵, 如果你不喜歡這種方式, 下面有幾種允許使用者先隨便輸入, 

然後再判斷, 如果不是整數, 我給你來個警告, 告訴你輸入型別不正確, 請重新輸入!

---不過在我看來, 這種做法有些不道德, 等著你犯錯, 然後笑喜喜的逮到你: 小樣被我抓到了吧!?

方法一: 正規表示式.

string regexp   =   /^[1-9][0-9]*$/;   

if(!regexp.test( this.txtlogin.text))   

方法二: 最沒有想象力的(原始)判斷方法---乙個乙個乙個乙個字元判斷還需要加上個for迴圈和n個if

function   isint(a)   

TextBox只輸入數字

57 event.returnvalue false id txty revenue style text align right runat server width 90 maxlength 12 說明 此方法控制textbox只收數字 0 9 提供一種思路 補充 1.取消按鈕按下時的虛線框 在...

C winform控制textbox輸入只能為數字

新增keypress事件,控制鍵盤輸入只能是自然數 1 2 控制鍵盤輸入只能是自然數 3 4 5 6private void textbox1 keypress object sender,keypresseventargs e 714 但是這樣不能避免貼上文字裡含有非數字字元的情況,可以新增tex...

如何控制TextBox控制項只能輸入數值型字串

public sub checkkeypress byval targettextbox as textbox,byval e as system.windows.forms.keypresseventargs,optional byval minus as boolean false,option...