我是新手,我正在使用 vb2010 ,我只需要一些帮助。
这是我的问题。
我想在我的文本框中验证用户的输入,当用户输入如此“ 1a1:b2b:3c3 ”时,我的项目应该接受它。但是当用户输入这样的“ 1a1b2b3c3 ”时,它会显示一个msgbox,格式必须为“ XXX:XXX:XXX ”。感谢您的帮助。
答案 0 :(得分: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”的那一点上,你可以用这个字符串做任何你喜欢的事情,因为它是全局的......
MrCodeXeR
答案 1 :(得分:0)
我建议你使用MaskedTextBox
类,它会帮助你从用户那里获取格式化的输入。看看this示例。
答案 2 :(得分:-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