我正在使用標籤來爲分數做記分牌,但數字不會一直添加,只會添加一次。可能是什麼問題呢?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
我正在使用標籤來爲分數做記分牌,但數字不會一直添加,只會添加一次。可能是什麼問題呢?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
變量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 Basic和Lifetime, Scope, Visibility, and Linkage。仔細閱讀它是因爲深入瞭解這些問題是學習編程的基礎。
將'Dim a As Integer'移出'Button1_Click'子,否則你每次點擊按鈕時都會聲明一個新的 - 這就是爲什麼它始終保持不變的原因。 –
感謝您的信息和答案先生! – Dhan
也可以將它更改爲靜態內部的子類:Static a As Integer – myekem