2015-12-11 35 views
1

我想将一个确切变量的值传递给另一个表单...更准确地说,我正在构建一个游戏,其中一个玩家回答几个问题,所以我想通过包含正确答案为另一种形式,其工作原理结束游戏窗口,并显示得分......我使用这种代码到底游戏窗口的变量:VB.NET:在表单之间传递变量,错误

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 

我第一次“玩g艾米“一切工作正常,但如果试图重播它显示分数永远不会改变......它仍然是第一次运行相同.. 任何想法我可以解决这个问题吗?

+0

那不是你如何增加是因为好奇什么是增量整数'vb.net'风格VB.NET的整数.. – cybermonkey

+1

@cybermonkey, 认沽标签更新代码? – Fabio

+0

@Fabio'Form2.CCount = Form2.CCount + 1'。请参见[this](http://stackoverflow.com/a/34072997/2422013)。 – cybermonkey

回答

3

您可以在加载表单时将值CCount分配给仅标签的值。
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 
+0

非常感谢大家,对于解决方案和解释! 它工作完美! – AruaS