【问题标题】:How can I add an error message to my program if the user doesn't enter an integer?如果用户不输入整数,如何向我的程序添加错误消息?
【发布时间】:2015-05-17 17:54:32
【问题描述】:

我正在使用 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

【问题讨论】:

  • 您可以使用Integer.TryParse 来检查每个输入值。使用它代替Val。 (Integer.TryParse 与 Int32.TryParse 相同。)
  • 谢谢你,安德鲁。我会试一试。
  • @Erowilder What are you development for web, wpf, winforms 根据情况你可以使用不同的方法来显示错误信息。就像在 winforms 中一样,您可以使用错误提供程序,而在网站中您可以使用各种正则表达式命令和就地属性。

标签: vb.net


【解决方案1】:

您可以像这样验证输入并计算平均值。

创建一个数组,其中包含您要验证的所有文本框,然后循环遍历数组的元素。对于每个 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

【讨论】:

  • 非常感谢布莱克伍德。我对 VB 的语法还是很陌生,所以这对我来说都是有价值的信息。再次感谢您!
猜你喜欢
  • 2016-12-11
  • 2017-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-24
  • 2015-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多