[.net]避免全型的數字輸入

在vb.net的Window form畫面中
(感謝雄哥的技術支援)

在keypress事件中可以透過下面的程式只允許數字的輸入(不允許文字及其他符號)
If e.KeyChar <> Microsoft.VisualBasic.ChrW(Keys.Back) Then
e.Handled = Not Char.IsDigit(e.KeyChar)
End If

但是如果輸入的是『全型』數字時…
上面的程式碼就沒辨法過濾掉全型的數字了
(全型的數字在其實是以文字的型態存在-->ascii碼和數字的ascii不一樣)

因些要避免全型的數字輸入時,請再加上一段程式碼

If CInt(Asc(e.KeyChar)) < 0 Then e.Handled = True

因為全型數字的ascii code值是負的兩萬多…
因此透過這個方法就可以擋掉那些全型的數字輸入。

請記得在TextBox控制項的KeyPress事件中加入以下的程式碼
就可以讓您的TextBox只允許輸入正確的數字。

If e.KeyChar <> Microsoft.VisualBasic.ChrW(Keys.Back) Then
If Not Char.IsDigit(e.KeyChar) Then e.Handled = True ' 這一行只允許輸入數字的輸入
If CInt(Asc(e.KeyChar)) < 0 Then e.Handled = True ' 擋掉全型數字的輸入
End If

留言

這個網誌中的熱門文章

嘗試卸載資料庫時,發生資料庫正在使用的而無法卸載的可能解決方案

ASP.NET常用的RegularExpressionValidator驗證