簡體   English   中英

如果用戶未輸入整數,如何將錯誤消息添加到程序中?

[英]How can I add an error message to my program if the user doesn't enter an integer?

我正在Visual Basic中編程,並且正在創建一個平均計算器。 如果用戶在文本框中輸入了除整數以外的任何內容,則我需要包含的一則錯誤消息。 我的代碼如下所示。

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
        txtAverage.Text = Str((Val(txtTextBox1.Text) + Val(txtTextBox2.Text) + Val(txtTextBox3.Text) + Val(txtTextBox4.Text) + Val(txtTextBox5.Text)) / 5)

    End Sub

    Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
        txtTextBox1.Text = ""
        txtTextBox2.Text = ""
        txtTextBox3.Text = ""
        txtTextBox4.Text = ""
        txtTextBox5.Text = ""

    End Sub

    Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
        Me.Close()

    End Sub

End Class

您可以像這樣驗證輸入並計算平均值。

創建一個包含要驗證的所有TextBox的數組,然后遍歷該數組的元素。 對於每個TextBox,請使用Integer.TryParse來檢查內容是否有效,如果有效,則將其轉換為整數。 如果內容無效,則會顯示一個MessageBox並退出Sub。 將各個數字加到一個稱為合計的整數中,該整數最終用於計算平均值。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
    Dim boxes() As TextBox = {txtTextBox1, txtTextBox2, txtTextBox3, txtTextBox5, txtTextBox5}
    Dim total As Integer
    For Each box As TextBox In boxes
        Dim num As Integer
        If Integer.TryParse(box.Text, num) Then
            total += num
        Else
            MessageBox.Show("Invalid number in " & box.Name)
            Exit Sub
        End If
    Next
    Dim average As Double = total / boxes.Length
    txtAverage.Text = average.ToString
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM