【问题标题】: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 的内容之间的精确 匹配,它不检查是否有 文本中的字母。

标签: vb.net


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 2010-10-21
    • 2022-06-28
    • 1970-01-01
    • 2013-12-01
    • 2011-06-15
    • 1970-01-01
    相关资源
    最近更新 更多