0

これは私のコードです:

Private Sub btn_Validate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Validate.Click
    Call ValidateData(txt_score1.Text, "1")
    Call ValidateData(txt_score2.Text, "2")
    Call ValidateData(txt_score3.Text, "3")
    Call ValidateData(txt_score4.Text, "4")
End Sub

Private Sub ValidateData(ByVal vScore As String, ByVal vintScore As String)
    If (vScore = "") Then
        lbl_StatusContent.Text = vbCrLf & "Score " & vintScore & " is blank"
    ElseIf Not (IsNumeric(vScore)) Then
        lbl_StatusContent.Text = vbCrLf & "Score " & vintScore & " is not numeric"
    ElseIf (vScore < 0 And vScore > 10) Then
        lbl_StatusContent.Text = vbCrLf & "Score " & vintScore & " is not in range: 0-10"
    Else
        lbl_StatusContent.Text = vbCrLf & "Score " & vintScore & " is Valid"

    End If
    vintScore = vintScore + 1
End Sub

問題は、スコア 4 の結果しか表示されないことです。スコア 1、スコア 2、およびスコア 3 は、4 番目のスコアによってオーバーラップされています。

次の行でそれらすべてが必要です。4 つのスコアをすべて見ることができ、誰も重複していないようにします。

4

2 に答える 2

0

もちろん、最後の結果のみが表示されます。メソッドを呼び出すたびに、以前の出力が上書きされます。結果を連結してまとめて印刷するには、何かが必要だと思います

Private Sub btn_Validate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Validate.Click
    Dim result As String 
    result = ValidateData(txt_score1.Text, "1")
    result = result & ValidateData(txt_score2.Text, "2")
    result = result & ValidateData(txt_score3.Text, "3")
    result = result & ValidateData(txt_score4.Text, "4")
    lbl_StatusContent.Text = result
End Sub

Private Function ValidateData(ByVal vScore As String, ByVal vintScore As String) As String
    Dim result As String
    If (vScore = "") Then
        result = vbCrLf & "Score " & vintScore & " is blank"
    ElseIf Not (IsNumeric(vScore)) Then
        result = vbCrLf & "Score " & vintScore & " is not numeric"
    ElseIf (vScore < 0 And vScore > 10) Then
        result = vbCrLf & "Score " & vintScore & " is not in range: 0-10"
    Else
        result = vbCrLf & "Score " & vintScore & " is Valid"
    End If
    return result
End Function

また、lbl_StatusContext.Height が少なくとも 4 行のテキストを収容するのに十分であることを確認してください。

于 2013-09-07T12:17:26.783 に答える
0

次の行でそれらすべてが必要です。

vbnewline またはEnvironment.NewLineを探していると思います

于 2013-09-07T12:11:22.020 に答える