【发布时间】:2016-05-08 19:52:17
【问题描述】:
我在验证文本框中的用户输入时遇到了一些问题,而且我找不到解决方案。
基本上,该程序是一个 BMI 计算器,当用户选择“计算”按钮时,我正在尝试验证用户输入的“性别”、“身高”和“体重”。以下是我到目前为止的代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button5.Click
Dim userBMI As BMI
userBMI.gender = TextBox1.Text
userBMI.height = TextBox2.Text
userBMI.weight = TextBox3.Text
calculatedBMI = (userBMI.weight / userBMI.height) / userBMI.height
calculatedBmiLbl.Text = calculatedBMI.ToString("n1")
End Sub
我需要验证这些输入的原因是,例如,如果用户为“高度”输入输入一个字符串或根本不输入任何内容,则计算将不起作用,因此程序将中断。我曾考虑过使用某种形式的布尔变量和循环来解决这个问题,但是我对如何做到这一点不是很了解。
如果有人可以借给我一些帮助,那就太好了,如果有人知道实现输入验证的更简单方法,它不一定必须是布尔值,这正是我正在考虑的,谢谢:
【问题讨论】:
-
在所有必要的文本框上使用
Integer.TryParse(),无需循环。如果TryParse()检查之一返回 False,那么您可以向用户显示一个 MessageBox,然后立即放置Return以不执行其余代码。 -
在玩了一会儿之后,我想我可以弄清楚是否有人可以根据某些条件(如 IF 语句)取消按钮?
-
哦,哇,完美的哈哈,我一发表评论,你的评论就出现了,哈哈。谢谢视觉文森特,我很感激:D
-
没问题。这是您可以使用的更简单的解决方案之一。如果有任何不清楚的地方,请告诉我。
-
嘿,伙计,我仍然在使用 Integer.Tryparse() 方法时遇到了一些麻烦。例如,我尝试过“userBMI.height = Integer.TryParse(TextBox1.Text),但在“TryParse”上出现错误,它告诉我“重载解析失败,因为没有可访问的‘TryParse’接受这个数量的争论”而且我似乎找不到解决办法。
标签: vb.net validation input textbox