VB.NET:在表单之间传递变量,错误

时间:2015-12-11 13:18:06

标签: vb.net forms

我想将精确变量的值传递给另一个表单... 更确切地说,我正在构建一个玩家回答几个问题的游戏,所以我想将包含正确答案的变量传递给另一个形式作为最终游戏窗口并显示得分......我是在最终游戏窗口中使用这种代码:

Public Class Form2

Public Property CCount As Integer

Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Label1.Text = CCcount
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    CCount = 0
    Form1.Show()
    Me.Close()
End Sub

End class

这是主要形式:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

'Lines of code
Form2.CCount +=1
'Lines of code
'Me.Hide()
'Form2.Show()

EndSub

我第一次“玩游戏”一切正常,但如果尝试重播它,显示分数永远不会改变......它仍然与第一次运行相同...... 我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

在加载表单时,只将CCount的值分配给Label Load事件只引发了一次。 将标签更新代码放在CCount属性Setter

Private _CCount As Integer
Public Property CCount As Integer
    Get
        Return _CCount
    End Get
    Set (value As Integer)
        If _CCount = value Then Exit Property
        _CCount = value
        Me.Label1.Text = _CCount.ToString()
    End Set
End Property