检查具有字符串值的文本框

时间:2012-10-22 06:42:31

标签: vb.net textbox foreach msgbox

我想要做的就是检查带有字符串值的文本框,如果是,则会出现消息框说(使用数字)。

    For Each t In Me.Controls
        If TextBox1.Text = (String) Then
            MsgBox("Please Use Number")
            Exit Sub
            Exit For
        End If
    Next

提前致谢

3 个答案:

答案 0 :(得分:1)

从错误消息中我假设您要验证用户输入的数值。然后,您可以使用Int32.TryParseDouble.TryParse或只是枚举所有字符并检查它们是否为数字:

For Each txt In Me.Controls.OfType(Of textBox)()
    Dim allDigit = txt.Text.Trim.Length <> 0 AndAlso _
            txt.Text.All(Function(chr) Char.IsDigit(chr))
    If Not allDigit Then
        MsgBox("Please Use Number")
        Exit Sub
    End If
Next

使用Int32.TryParse

Dim intVal As Int32
Dim isInteger As Boolean = Int32.TryParse(txt.Text, intVal)

(假设您还要验证表单上的所有TextBox)

答案 1 :(得分:1)

你走了:

For Each c As Control In Me.Controls
    If TypeOf (c) Is TextBox Then
        If Not IsNumeric(c.Text) Then
            MessageBox.Show("Not a number")
            Exit Sub
        End If
    End If
Next

答案 2 :(得分:0)

使用正则表达式验证文本框是否包含数字。

例如

Dim regNumber As New Regex("^\d{1,10}$")
regNumber.IsMatch(TextBox1.Text)