我在文本框中验证用户输入时遇到了一些问题,而我却找不到解决方案。
基本上,该程序是一个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
我需要验证这些输入的原因是因为,例如,如果用户输入一个字符串或根本没有输入" height"输入,计算将无法工作,因此程序将中断。我已经考虑过使用某种形式的布尔变量和一个循环来解决这个问题,但我对如何做到这一点并不是很了解。
如果有人能借给我一些很棒的帮助,如果有人知道更简单的方法来实现输入验证,它就不一定必须是布尔值,这正是我的想法关于,谢谢:
答案 0 :(得分:0)
以下是验证输入是否输入的验证示例。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button5.Click
If Len(Trim(TextBox1.Text)) = 0 Then
MsgBox("Enter Gender", MsgBoxStyle.Exclamation)
TextBox1.Focus()
ElseIf Len(Trim(TextBox2.Text)) = 0 Then
MsgBox("Enter Height", MsgBoxStyle.Exclamation)
TextBox2.Focus()
ElseIf Len(Trim(TextBox3.Text)) = 0 Then
MsgBox("Enter Weight", MsgBoxStyle.Exclamation)
TextBox3.Focus()
Else
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 If
End Sub
答案 1 :(得分:0)
尝试使用IsNumeric检查输入的文本是否为数值
If(IsNumeric(TextBox2.Text) ANDALSO IsNumeric(TextBox3.Text))
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")
Else
calculatedBmiLbl.Text = ""
END IF
或使用Val()方法
If(Val(TextBox2.Text)>0 ANDALSO Val(TextBox3.Text)>0)
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")
Else
calculatedBmiLbl.Text = ""
END IF