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开始
我该怎么做......
答案 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的括号内