我的问题在于我的代码,简单的订单需要某些信息。当用户没有输入一条信息时,程序会显示一个对话框,然后在用户点击Okay后,它仍会计算信息。我是VB的新手,所以这里是代码片段:
If (CheckBox3.Checked = False And blueBlackQuantityTextBox.Text <> "" And blueBlackQuantityTextBox.Text > 0) Then
MessageBox.Show("Please check item you wish to purchase", "No Item Selected",
MessageBoxButtons.OK, MessageBoxIcon.Error)
Stop
End If
Const whiteBlackDicePrice = 6.25
Const redBlackDicePrice = 5.0
Const blueBlackDicePrice = 7.5
Const tax = 0.05
Dim whiteBlackSubTotal As Double = whiteBlackQuantityTextBox.Text * whiteBlackDicePrice
Dim redBlackSubTotal As Double = redBlackQuantityTextBox.Text * redBlackDicePrice
Dim blueBlackSubtotal As Double = blueBlackQuantityTextBox.Text * blueBlackDicePrice
'newBalanceResultLabel.Text = String.Format("{0:C2}", newBalance)
Dim subtotal As Double = whiteBlackSubTotal + redBlackSubTotal + blueBlackSubtotal
whiteBlackTotalsLabel.Text = String.Format("{0:C2}", whiteBlackSubTotal)
redBlackTotalsLabel.Text = String.Format("{0:C2}", redBlackSubTotal)
blueBlackTotalsLabel.Text = String.Format("{0:C2}", blueBlackSubtotal)
subtotalResultLabel.Text = String.Format("{0:C2}", subtotal)
在每个IF语句之后放置一个STOP,导致程序崩溃,我只能让对话框说:好的。
请帮忙!
答案 0 :(得分:2)
在这里你应该如何编写你的程序
Private sub MySub()
If not ConditionsValidated() Then
MessageBox.Show("Please check item you wish to purchase") ' MsgBox with a single button always returns Ok. Here you don't even need to tell to show Ok - this is default.
Return
End If
' your code is running here
end sub
private function ConditionsValidated() as Boolean
' Validate your controls here
end sub
如果有人没有选择某些内容,我也不会显示“错误”消息框。错误表示您的应用程序遇到严重错误。这就是为什么有验证器可以在无效控件旁边显示一个小红点,或者使控制红色的颜色等等,
答案 1 :(得分:0)
If (CheckBox3.Checked = False And blueBlackQuantityTextBox.Text <> ""
And blueBlackQuantityTextBox.Text > 0) Then
If MessageBox.Show("Please check item you wish to purchase",
"No Item Selected",
MessageBoxButtons.OK, MessageBoxIcon.Error) = DialogResult.OK Then
Stop
End If
End if
msgbox消息和动作似乎不匹配。不清楚“没有项目”将结束程序(或在设计器中打破调试)。也许你的意思是Exit Sub
?此外,由于他们有一个选择,好的,它总是会结束程序
无论如何,MessageBox
是一个返回您可以评估的DialogResult
的函数。你没有这样配置
答案 2 :(得分:0)
一个简单的解决方案。在任何地方使用下面的代码,它将立即停止执行。
Response.End