如何确保文本框只接受整数(而不是字符串)
Posted
技术标签:
【中文标题】如何确保文本框只接受整数(而不是字符串)【英文标题】:How to ensure a textbox only accepts integers (and not string) 【发布时间】:2017-01-04 10:39:41 【问题描述】:上个月我问了如何在VB.Net中获得一个升级系统,效果很好。我现在的问题是,如果用户尝试输入任何字符串(包括混合字符),它不会对级别框执行任何操作,而是将用户赶出。我目前的代码如下:
ElseIf txtExperience.Text = "" Or txtExperience.Text = Letters Then
MessageBox.Show("Input must be a whole number between 0 and 100000", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
我依稀记得当我第一次学习 VB.Net 时做过类似的事情,但是我不再可以访问那个程序,而且当我在框中输入任何字母时,我似乎找不到任何可能抓住用户的东西.
这可能是一些小错误,但感谢您提供的任何帮助:)
【问题讨论】:
改用NumericUpDown
控件。
感谢您的帮助,但我更愿意将其保留为文本框。有没有保存文本框的简单方法?
看看this
使用 Int32.TryParse 查看文本是否可以转换为数字 - 如果不能,请警告用户。
您的txtExperience.Text = Letters
测试键入的文本和字符串变量Letters
的内容之间的精确 匹配,它不检查是否有 文本中的字母。
【参考方案1】:
你有没有尝试过类似的东西;
For Each c As Char in txtExperience.Text
If Char.IsDigit(c) = False Then
MsgBox("Only digits are allowed - Character " & c & " is not valid")
Exit Sub
End If
Next
【讨论】:
以上是关于如何确保文本框只接受整数(而不是字符串)的主要内容,如果未能解决你的问题,请参考以下文章