我正在制作一个得分游戏,但我不能将得分从第一个表格发送到第二个表单 分数从1000开始 当用户播放时减少 如何将值减少后发送到form2中的标签
答案 0 :(得分:0)
没有任何代码可以看 - 我猜你的问题是表格没有相互引用。
我建议制作一个模块(并将其放在命名空间中):
Namespace MyModule
Module Module1
Public f1 as Form1
Public f2 as Form2
Public Sub setScore() as String
' This assumes Form1 has a public variable playerScore,
' and Form2 has a label scoreLabel
f2.scoreLabel.Text = f1.playerScore
End Sub
End Module
End Namespace
第二步是确保在两个表单中,将模块中的引用设置为该表单(下面的示例表示在Load事件中完成的Form1)。确保已定义f1和f2,否则在尝试调用setScore()时将获得空引用异常。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MyModule.f1 = Me
' ... and the rest of your code in form load
End Sub
最后,当您的分数发生变化时,只需调用MyModule中的setScore()子
即可playerScore += 1 'example
MyModule.setScore() ' update the label in Form2