所以基本上在一个表单中,你有3个文本框,每个文本框都可以输入一个数字,然后你有一个按钮来检查这些文本框中的每一个是否都在指定的数字范围内。它非常像一个锁组合,但我需要帮助检查值,例如;
我唯一可以理解的是
Dim intOne As Integer
Dim intTwo As Integer
Dim intThree As Integer
Dim blnInputOk As Boolean = True
If Integer.TryParse(lblOne.Text, intOne) = False Then
MessageBox.Show("Value must be an integer")
blnInputOk = False
End If
If Integer.TryParse(lblTwo.Text, intTwo) = False Then
MessageBox.Show("Value must be an integer")
blnInputOk = False
End If
If Integer.TryParse(lblThree.Text, intThree) = False Then
MessageBox.Show("Value must be an integer")
blnInputOk = False
End If
If intOne >= 6 And intOne <= 8 Then
If intTwo >= 2 And intOne <= 9 Then
If intThree >= 0 And intThree <= 8 Then
MessageBox.Show("Good code!")
Else
MessageBox.Show("Wrong, number must be between range 0 to 8")
End If
Else
MessageBox.Show("Wrong, number must be between range 2 to 9")
End If
Else
MessageBox.Show("Wrong, number must be between range 6 to 8")
End If
所以我的问题是如何通过为每个文本框添加数字范围的数组来使这些代码更简单?我也知道有可能添加一个循环,但我不知道如何构建它,任何人都可以帮忙吗?感谢
答案 0 :(得分:2)
有很多方法,都取决于你要比较的值的数量,最简单的方法是添加一个比较函数。
Private Function IsInRange(x As Integer, a As Integer, b As Integer) As Boolean
Dim r As Boolean
r = (x >= a And x <= b)
If r Then
MessageBox.Show("Good code!")
Else
MessageBox.Show(String.Format("Wrong, number {0} must be between range {1} to {2}", x, a, b))
End If
Return r
End Function
然后根据您问题中显示的代码,您可以这样做:
If IsInRange(intOne, 6, 8) Then
If IsInRange(intTwo, 2, 9) Then
IsInRange(intThree, 0, 8)
End If
End If
答案 1 :(得分:1)
.NET在标准输入控件上具有输入验证功能。 Here's一个体面的起点。