有没有办法一起添加2个复选框选项来获得总和?

时间:2015-03-16 02:01:54

标签: vb.net checkbox

我写了一个程序,用户可以在其中构建自己的电话计划。他们有两个复选框,允许他们将电子邮件和短信添加到他们的计划中。如果他们只想要电子邮件,则需额外支付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

2 个答案:

答案 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