我正在上 VBA 课程并且完全被这个问题所困扰。我们不能使用屏蔽文本框,这可以解决这个问题。相反,教授实际上希望我学习代码,你能想象吗?
别开玩笑了,用户需要在文本框中输入汽油价格,然后点击计算以接收旅行的总费用。界面还有更多内容,但会为您省去细节。如果用户输入的数字不是带一位小数的正数,它应该返回错误。我已经计算出 0 或 0000 以及负数,例如 -3.45。现在我必须得到任何文本或特殊字符来给我一个错误以及类似 34.56.12.45 的内容。您永远不会知道,用户可能会觉得需要输入他们的 IP 地址。分配的关键是我捕捉到所有可能的用户错误。
这是我为计算编写的以及捕获错误的内容。我也尝试过 Try/Catch 语句。没有任何效果,但我让 IF 语句的前两部分工作,但在最后一个 IF 部分总是失败,直到它开始计算。
Private Sub btnCalc_Click(sender As Object, e As EventArgs) 处理 btnCalc.Click
Dim Mileage As Decimal
Dim Miles As Decimal
Dim GasPrice As Decimal
Dim Cost As Decimal
If CDec(txtbxGasPrice.Text) = 0 Then
MessageBox.Show("Please enter a positive dollar amount")
txtbxGasPrice.Text = String.Empty
End If
If CDec(txtbxGasPrice.Text) < 0 Then
MessageBox.Show("Please enter a positive dollar amount")
txtbxGasPrice.Text = String.Empty
End If
If Cost = CDec((Miles / Mileage) * GasPrice) Then
Miles = CDec(lblTMiles.Text)
Mileage = CDec(lblMileage.Text)
GasPrice = CDec(txtbxGasPrice.Text)
lblTotalCost.Text = Cost.ToString("C2")
End If
If CBool(txtbxGasPrice.Text = "") Then
MsgBox("You must enter a dollar amount")
End If
*If Not IsNumeric(txtbxGasPrice.Text) Then
MessageBox.Show("Please enter a positive dollar amount")
txtbxGasPrice.Text = String.Empty*
End If
End Sub
“我把它放在了顶部、中间、底部,但没有运气。我错过了什么?
欣赏你的想法 - 劳伦