2016-11-26 78 views
0

我有一个按钮可以将文本框的值增加1,另一个按钮则可以完成相反的操作。我想知道如何验证它,因此数字不会低于零。我如何验证我的文本框只显示大于或等于0?

这里是我的代码至今:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim i As Integer 
    If Integer.TryParse(TextBox2.Text, i) Then 
     i += 1 
    Else 
     i = 0 
    End If 
    TextBox2.Text = i.ToString() 
End Sub 

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 
    Dim i As Integer 
    If Integer.TryParse(TextBox2.Text, i) Then 
     i -= 1 
    Else 
     i = 0 
    End If 
    TextBox2.Text = i.ToString() 
End Sub 

回答

0

你有两个简单的选择:

  • 你递减号码前,检查一下后,你是否大于零
  • 减少数字,检查是否小于零,如果是,则将其设置为零。

所以..

If Integer.TryParse(TextBox2.Text, i) AndAlso (i > 0) Then 
     i -= 1 
    Else 

或...

If Integer.TryParse(TextBox2.Text, i) Then 
     i -= 1 
     If i < 0 Then 
      i = 0 
     End If 
    Else 

你也可以使用

i = Math.Max(0, i - 1) 
+0

谢谢主席先生!哪个选项更专业?或者它们都一样好。 – CathaysMafia

+0

@CathaysMafia如果在TextBox2中有可能改变文本内容,比如说“-99”,那么第二个和第三个代码样本会将'i'修正为零,但第一个不会。第二个示例使您可以在用户尝试低于零时提醒用户。如果不了解整体情况,就没有“最专业”的方法。 –

相关问题