2016-01-17 85 views
0

我正在使用標籤來爲分數做記分牌,但數字不會一直添加,只會添加一次。可能是什麼問題呢?VB.NET不斷添加標籤中的值

Public Class Form2 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim a As Integer 
    a = a + 1 

    Label1.Text = a 

End Sub 
End Class 
+0

將'Dim a As Integer'移出'Button1_Click'子,否則你每次點擊按鈕時都會聲明一個新的 - 這就是爲什麼它始終保持不變的原因。 –

+0

感謝您的信息和答案先生! – Dhan

+0

也可以將它更改爲靜態內部的子類:Static a As Integer – myekem

回答

0

變量a對於button_click事件是本地的。所以每次你調用這個事件點擊你的按鈕時,變量就被分配到堆棧上並且其初始值被設置爲默認的整數值爲零

如果你想保留一個計數器,你需要聲明變量在全球水平,其範圍是集合所有代碼在窗體上壽命和變量的作用域

Public Class Form2 
    Dim a As Integer 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     a = a + 1  
     Label1.Text = a 
    End Sub 
End Class 

更多細節可以MSDN文章中閱讀:Scope in Visual BasicLifetime, Scope, Visibility, and Linkage。仔細閱讀它是因爲深入瞭解這些問題是學習編程的基礎。

+0

我想他每次按下按鈕都要添加到它,所以您應該將'a = a + 1'移動到click事件中。 –

+0

是的,這是一個複製/粘貼錯誤,現在修復了 – Steve

+0

感謝您的信息。並回答傢伙! – Dhan