我是编程方面的新手,我在Visual Basic中遇到了一个我无法弄清楚的问题。很多论坛和YouTube视频后来我仍然没有答案。 我使用的是嵌套选择结构,其中有两个消息框。我无法弄清楚如何获取第二个对话框结果来触发elseif语句。它只是跳过它。我相信因为我为对话结果声明了一个变量,所以它正在检查它们,但在这种情况下我不知道如何仅声明第二个对话框结果。 这是迄今为止的代码。
Dim dblTotal As Double = 12
Dim strResponse As DialogResult
'对话框询问优惠券和$ 2优惠券。 如果MessageBox.Show(“客户有优惠券吗?”,“优惠券”,MessageBoxButtons.YesNo)= vbYes AndAlso
MessageBox.Show(“客户有2美元的优惠券吗?”,“优惠券”,MessageBoxButtons.YesNo)= vbNo然后
lblTotal.Text = Convert.ToString(dblTotal - 4)
' Meant to be ran if statement is false. I dont Understand
' why it is skipping over and not executing.
' Is "dlgResult" reading the first one as well? How do I correct?
ElseIf strResponse = vbYes Then
lblTotal.Text = Convert.ToString(dblTotal - 2)
Else
lblTotal.Text = Convert.ToString(dblTotal)
End If
End Sub
我知道如果第一条消息= vbNo会更容易编码,但我试图看看这种方式是否有效。 谢谢!!
答案 0 :(得分:1)
这是你想要的吗?
Dim dialog1 As DialogResult
Dim dialog2 As DialogResult
Dim dblTotal As Double = 12
dialog1 = MessageBox.Show("Does customer have a coupon?", "Coupon", MessageBoxButtons.YesNo)
dialog2 = MessageBox.Show("Does customer have a $2 coupon?", "Coupon", MessageBoxButtons.YesNo)
If dialog1 = DialogResult.OK Then
dblTotal = dblTotal - 2
End If
If dialog2 = DialogResult.OK Then
dblTotal = dblTotal - 2
End If
lblTotal.Text = Convert.ToString(dblTotal - 2)