我想在每次点击按钮时增加!! VB.NET 2008

时间:2013-03-30 17:12:18

标签: vb.net visual-studio-2008

它始终显示第一个条件。就像它点击了两次我希望a1和a2可见,而且标签7和标签8很快......继承我的代码。任何帮助表示赞赏

Private Sub cmdLap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLap.Click

Dim a As Integer

a = a + 1

If a = 1 Then

   a1.Visible = True

   Label7.Text = Label1.Text & " hour(s) " & Label2.Text & " minute(s) " &   Label3.Text & " second(s) "

ElseIf a = 2 Then

   a2.Visible = True

   Label8.Text = Label1.Text & " hour(s) " & Label2.Text & " minute(s) " & Label3.Text & " second(s) "

ElseIf a = 3 Then

    a3.Visible = True

    Label9.Text = Label1.Text & " hour(s) " & Label2.Text & " minute(s) " & Label3.Text & " second(s) "

End If
End Sub**

2 个答案:

答案 0 :(得分:0)

您的变量a是声明Sub的本地变量。 这意味着:每次调用此子(用户单击按钮)时,都会在本地堆栈上创建a的新副本,其值将从零开始。

您需要在Sub。

之外声明该变量
Dim a As Integer

Private Sub cmdLap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLap.Click
  ......
End Sub     

当然,现在你遇到了相反的问题。变量保持其先前的值,因此,在4次单击后,它达到值4,并且不再与您的测试匹配。

顺便说一下,不要对变量和控件使用这样的描述性名称。尝试使用更有意义的名称来帮助您在将来六个月后进行编码工作,您将回顾这段代码。

答案 1 :(得分:0)

a是函数的本地函数,因此每次单击时它为0,递增为1,并且您得到该条件。

将其移至类级属性或字段。