[英]If textbox is empty or textbox is less than 3
如何修復此代碼? 如果文本框為空,則會出現錯誤。
Private Sub MetroButton1_Click(sender As Object, e As EventArgs) Handles MetroButton1.Click
If BunifuMaterialTextbox2.Text < 3 Or BunifuMaterialTextbox2.Text = "" Then
MsgBox("must have atleast 3 pesos profit")
End If
End Sub
我想要的是在textbox.text <3或textbox.text為空時顯示錯誤消息
使用val():-如果val(BunifuMaterialTextbox2.Text)<3或val(BunifuMaterialTextbox2.Text)= 0,則MsgBox(“必須至少有3比索利潤”)結束如果並且管理文本框僅允許數字。 實際使用的是將數字與字符串進行比較。 使用上面的代碼將對您有所幫助。
您應該打開Option Strict。 只有少數情況允許它成功,而沒有它就無法成功,並且通常很難重寫。 它所執行的操作與您將要執行的操作相同,但是它使可能的類型失敗不太清楚。
If BunifuMaterialTextbox2.Text < 3 Or BunifuMaterialTextbox2.Text = "" Then
由於您已禁用Option Strict Off,因此將其視為
If CInt(BunifuMaterialTextbox2.Text) < 3 Or BunifuMaterialTextbox2.Text = "" Then
CInt在Nothing上不成功,返回0,但在“”上失敗,引發異常。 由於您使用的是Or而不是OrElse,因此將始終評估這兩個條件。 另外,您具有首先會導致異常的條件,因此,只要您的文本框為空,就會引發異常。
您可以重新聲明為:如果BunifuMaterialTextbox2.Text =“” OrElse BunifuMaterialTextbox2.Text <3然后
一切都會正常工作。 但是我真的不建議這樣做,因為如果不知道幕后發生的事情,它就很脆弱。
如果重述為:
Dim bunifuMaterial2 as Integer
If not Integer.TryParse(BunifuMaterialTextbox2.Text, bunifuMaterial2) OrElse bunifuMaterial2 < 3 Then
您不僅可以避免將異常排除為空,而且還可以避免由於輸入了非數字值(例如“ cat”)而導致異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.