VB.Net: 选中复选框时显示总计

VB.Net: Display total when check boxes are checked

我正在为一个游戏制作一个EXP乘数,所以当我输入一个数量时,我会勾选某个乘数,它会乘以我的EXP来显示我将获得多少EXP。

我想知道如何包含语句,如果我选中复选框以便包含语句,否则它不会影响任何东西。

目标: 如果选中系统复选框,我希望我输入的金额(即 exp)乘以 2。如果选中 'hs = checkbox4',其中 system = checkbox1 和总 exp 乘以 1.5x。如果两者都被选中,则总 exp 将乘以 2x1.5= 3。否则,它只是 2x 或 1.5x。但是我不知道该怎么做。

例如(我不知道怎么写,但它是我想要的东西)

    system = exp * 2
    hs = exp * (50 / 100)


    If CheckBox1.CheckState = CheckState.Checked Then
        totalexp INCLUDES multiplier system
    ElseIf CheckBox1.CheckState = CheckState.Unchecked Then
        totalexp is not affected by multiplier system
    End If
    If CheckBox4.CheckState = CheckState.Checked Then
        totalexp INCLUDES multiplier hs
    ElseIf CheckBox4.CheckState = CheckState.Unchecked Then
        totalexp INCLUDES multiplier hs
    End If

    totalexp = hs * system

请帮忙!

假设您有 TextBox1 作为 exp 输入和两个复选框,即 CheckBox1CheckBox4 用于 systemhs分别和一个按钮来处理输入然后你可以在下面得到这个代码。

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim exp As Double
    If IsNumeric(TextBox1.Text) Then
        exp = CDbl(TextBox1.Text)
    Else
        MsgBox("Please input a number.")
    End If
    If CheckBox1.Checked = True Then
        exp = exp * 2
    End If
    If CheckBox4.Checked = True Then
        exp = exp * 1.5
    End If
    If exp <> 0 Then
        MsgBox(exp)
    End If
End Sub
End Class

如果选中两个复选框,则您的输入 (exp) 将乘以 2 AND 1.5。

如果两个复选框都未选中,则显示消息将为零。如果您希望在没有选中复选框时不显示任何消息,那么您可以在最后一个 End If 代码

之后添加它

MsgBox(exp) 更改为

If exp<> 0 Then
    MsgBox(exp)
End If