2016-11-26 33 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'修正爲零,但第一個不會。第二個示例使您可以在用戶嘗試低於零時提醒用戶。如果不瞭解整體情況,就沒有「最專業」的方法。 –

相關問題