从两个标签连续添加值

时间:2015-03-27 23:48:57

标签: vb.net

Public Shared total1 As Integer = 0
Public Shared total2 As Integer = 0



Private Sub BtnAdult_Click(ByVal sendenr As System.Object, ByVal e As System.EventArgs) Handles BtnAdult.Click
    Dim addADult As Integer = 50

    total1 = Val(total1) + Val(addADult)
    total2 = Val(total2) + Val(addADult)

    If RadioButton1.Checked Then
        Sales.lblErick.Text = Val(total1)
        Sales.Show()
        Me.Hide()

    ElseIf RadioButton2.Checked Then
        Sales.lblHenry.Text = Val(total2)
        Sales.Show()
        Me.Hide()

    End If
End Sub

Private Sub BtnChild_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnChild.Click
    Static hits As Integer = 0
    hits += 1

    Dim addChild As Integer = 45
    total1 = Val(total1) + Val(addChild)
    total2 = Val(total2) + Val(addChild)

    If RadioButton1.Checked Then
        Sales.lblErick.Text = Val(total1)
        Sales.Show()
        Me.Hide()

    ElseIf RadioButton2.Checked Then
        Sales.lblHenry.Text = Val(total2)
        Sales.Show()
        Me.Hide()
'...
好吧,我有两个单选按钮 那我有两个标签 当我检查1个radiobutton,然后勾选btnAdult 我希望我的标签的值为0 + 50 当我再次回去检查另一个按钮时 它只是增加了另一个标签的价值.. 按说 如果检查了另一个radiobutton并勾选btnAdult 我的另一个label.text变成了100, 它应该从50开始 我该怎么做......

1 个答案:

答案 0 :(得分:0)

这是因为您每次点击都会调用此代码

total1 = Val(total1) + Val(addADult)
total2 = Val(total2) + Val(addADult)

意思是,每次按下按钮总计都会+50

如果您想修复,请按照以下方式进行修改:

    Dim addADult As Integer = 50




    If RadioButton1.Checked Then
        total1 = Val(total1) + Val(addADult)
        Sales.lblErick.Text = Val(total1)
        Sales.Show()
        Me.Hide()

    ElseIf RadioButton2.Checked Then
        total2 = Val(total2) + Val(addADult)
        Sales.lblHenry.Text = Val(total2)
        Sales.Show()
        Me.Hide()

    End If
End Sub

或者将总数的数学放在radiobutton的括号内