-1

我是新手,我正在使用vb2010,我只需要一些帮助。

这是我的问题。

我想验证用户在我的文本框中的输入,当用户输入像这样“ 1a1:b2b:3c3 ”时,我的项目应该接受它。但是当用户输入这样的“ 1a1b2b3c3 ”时,它会显示一个格式必须为“ XXX:XXX:XXX ”的msgbox。提前感谢您的帮助。

4

3 回答 3

0

我为你做了一个非常简单的例子,足以让你走上正轨。我本可以用不同的方式来做,但我相信这会让你继续前进。我使用 MaxLength 来确定用户输入了至少 9 个字符,如果没有让他们知道。我还制作了一个函数,将文本框的文本传递给它,然后继续为您设置格式;节省用户时间...此外,如果我是正确的,我们只需要确保用户主要输入至少 9 个字符...祝您好运!

Public Class Form1

Private strValidatedText As String = String.Empty
Private blnValid As Boolean = False

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'Make sure user can only enter up to 9 values...
    With txtInput
        .MaxLength = 9
        .TextAlign = HorizontalAlignment.Center
    End With
End Sub

Private Sub btnValidate_Click(sender As Object, e As EventArgs) Handles btnValidate.Click
    Dim strTextBox As String = txtInput.Text
    strValidatedText = ValidateText(strTextBox)
    Select Case blnValid
        Case True
            MessageBox.Show("It's valid! " & strValidatedText)
            txtInput.Clear()
            txtInput.Focus()
        Case Else
            MessageBox.Show(strValidatedText)
            txtInput.Clear()
            txtInput.Focus()
    End Select
End Sub

Private Function ValidateText(ByVal strText As String)
    Dim strNewText As String = String.Empty
    If strText.Length = 9 Then
        strNewText = (strText.Substring(0, 3) & ":" & strText.Substring(3, 3) & ":" & strText.Substring(6, 3))
        blnValid = True
    Else
        strNewText = "There must be at least 9 characters in the textbox!"
        blnValid = False
    End If
    Return strNewText
End Function
End Class

同样在“Select Case blnValid”中,您可以使用该字符串做任何您想做的事情,因为它是全球性的......

代码先生

于 2013-05-01T04:38:16.833 回答
0

I would suggest you to use MaskedTextBox class, it will help you to take a formatted input from user. Have a look at this example.

于 2013-05-01T04:53:11.147 回答
-1

我使用以下代码进行了尝试,它在VB 2010. 只需在变量声明之前使用此代码:

If TextBox1.Text = "" Then    'check if the textbox has a value
    MsgBox("Please Enter ID Number")
Return    'will return to the app
ElseIf Not IsNumeric(TextBox1.Text) Then    'check if the entered value is a number
    MsgBox("ID Must Be A Number")
Return 
于 2015-05-30T17:35:44.283 回答