如何使用数组验证输入并在VB应用程序中以另一种形式显示输出

时间:2017-05-04 06:41:09

标签: arrays vb.net

我是编程的初学者。所以我们的功课是创建一个包含20个TextBox的应用程序,让用户输入问题的答案。我为每个问题提供了一系列正确的答案。因此,分配是检查用户是否在每个文本框中输入了正确的答案(例如,textbox1中的答案应与存储在数组中的FIRST值匹配,依此类推)。此外,用户只能在文本框中输入A,B,C或D;否则显示错误。此外,老师希望我们以另一种形式显示结果。所以我现在已经尝试了4个小时了,我尝试了所有的东西(程序,功能....)什么都没有用。到目前为止,我写了这段代码:

Public Class MainForm
Public answers() As String = {"B", "D", "A", "A", "C", "A", "B", "A", "C", "D", "B", "C", "D", "A", "D", "C", "C", "B", "D", "A"}
Private Sub btnScore_Click(sender As Object, e As EventArgs) Handles btnScore.Click
    If txt1.Text <> answers(0) Then
        MessageBox.Show("Enter either A, B, C, or D")
    Else
        Dim frmResults As New ResultsForm
        frmResults.Show()
        frmResults.lstResults.Items.Add("The correct answer is " & answers(0) & ". Your answer is " & answers(0))
    End If
End Sub
End Class

所以我尝试使用过程和函数进行输入验证,但是它们抛出了“无法将字符串转换为布尔值”的异常.... 有没有人有如何为这个应用程序编写代码的建议?感谢。

1 个答案:

答案 0 :(得分:0)

所以我解决了异常问题并编写了正确的输入验证函数:

Private Function InputValidation(ByVal input As String) As Boolean
    'input validation function
    If Not input = "A" Then
        If Not input = "B" Then
            If Not input = "C" Then
                If Not input = "D" Then
                    MessageBox.Show("Enter either A, B, C, or D")
                    Return False
                End If
            End If
        End If
    End If

    Return True
End Function