Vb.net 为什么我引用另一个类的方式会改变.Value控件的行为?
在我的代码中,我使用了两个类。一个包含UI表单,另一个包含 写入文件的方法。在编码过程中,我发现了一些行为 我不明白。下面的代码显示了(我认为是什么) 相关部分。为了简单起见,文件写入部分由Vb.net 为什么我引用另一个类的方式会改变.Value控件的行为?,vb.net,visual-studio-2008,class,reference,Vb.net,Visual Studio 2008,Class,Reference,在我的代码中,我使用了两个类。一个包含UI表单,另一个包含 写入文件的方法。在编码过程中,我发现了一些行为 我不明白。下面的代码显示了(我认为是什么) 相关部分。为了简单起见,文件写入部分由MsgBox代替 我有一种形式的以下控件: NumericUpDown 按钮 使用以下类和方法: Public Class One Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
MsgBox
代替
我有一种形式的以下控件:
NumericUpDown
按钮
使用以下类和方法:
Public Class One
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
Dim t As New Two
t.Show()
End Sub
End Class
Public Class Two
Public Sub Show()
Dim o As New One
MsgBox(o.NumericUpDown.Value)
End Sub
End Class
现在,当我单击按钮时,会显示默认值NumericUpDown.Value
。
当我调整此值并再次单击按钮时,旧的默认值
不断显示
在下面的代码中,我删除了零件Dim o作为新零件
,我只使用One
引用另一个类。因此:
Public Class Two
Public Sub Show()
MsgBox(One.NumericUpDown.Value)
End Sub
End Class
现在一切都正常了。我单击默认的按钮
NumericUpDown.Value
显示。我调整值,单击按钮
,调整后的
价值显示
将Dim o分配为新的如何改变这种行为
这是我用vb.net编写代码的第一周,所以我可能会做一些没有意义的事情,但对我来说很有用。我将Dim o作为新的
放在实际代码中的唯一原因是,我不必每次引用类时都键入“One”,而只需键入“o”。显然,这不是一个好办法,但我很想知道为什么。尝试执行以下代码:
Public Class One
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
Dim t As New Two
t.Show(Me)
End Sub
End Class
Public Class Two
Public Sub Show(ByVal o As One)
MsgBox(o.NumericUpDown.Value)
End Sub
End Class
当您调用Dim o as New One
时,您正在创建表单的新实例,因此它不会显示当前表单实例的值