我写了一个程序,用户可以在其中构建自己的电话计划。他们有两个复选框,允许他们将电子邮件和短信添加到他们的计划中。如果他们只想要电子邮件,则需额外支付25美元。如果他们只想要txt消息,那么额外的10美元。如果他们检查两个盒子,它应该是35美元。 我的代码仅在单击其中一个复选框时才有效,但不能同时单击两者。当用户同时检查两者时,它返回25而不是35.我将包含与下面问题相关的代码部分。
If chkEmail.Checked = True Then
dblOptions = 25
ElseIf chkTxt.Checked = True Then
dblOptions = 10
ElseIf chkEmail.Checked = True And chkTxt.Checked = True Then
dblOptions = 35
End If
答案 0 :(得分:2)
您的代码与If
条件匹配,因此它不会检查任何ElseIf
条件。首先检查这两个框将解决这个问题(如jpw的回答)。
或者,您可以将支票彼此分开,如下所示:
dblOptions = 0
If chkEmail.Checked Then
dblOptions += 25
End If
If chkTest.Checked Then
dblOptions += 10
End If
现在它有点冗长,但它的优点是,如果你最终有第三个选项,你只需要添加一个If
语句而不是几个。
答案 1 :(得分:0)
你不是说你正在使用什么语言,但基于语法我想它可能是VB.Net?你可以这样做:
If chkEmail.Checked = True And chkTxt.Checked = True Then
dblOptions = 35
ElseIf chkEmail.Checked = True Then
dblOptions = 25
ElseIf chkTxt.Checked = True Then
dblOptions = 10
End If