0

在我的代码中,我使用了两个类。一个包含 UI 表单,另一个包含写入文件的方法。在编码过程中,我发现了一些我不理解的行为。下面的代码显示(我认为是)相关部分。为简单起见,文件写入部分由 aMsgBox代替。

我有以下一种形式的控件:

NumericUpDown Button

使用以下类和方法:

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

现在,当我单击Button默认NumericUpDown.Value显示时。当我调整此值并再次单击按钮时,旧的默认值会继续显示。

在下面的代码中,我删除了该部分Dim o as New One,我只是One 用来引用另一个类。所以:

Public Class Two
    Public Sub Show()
        MsgBox(One.NumericUpDown.Value)
    End Sub
End Class

现在一切正常。我点击Button,默认 NumericUpDown.Value显示。我调整数值,点击Button,调整数值显示。

分配如何Dim o as New One改变这种行为?

这是我使用 vb.net 编码的第一周,所以我可能正在做一些没有意义的事情,但对我有用。我输入实际代码的唯一原因Dim o as New One是,我不必每次引用该类时都输入“One”,而只需输入“o”。显然这不是要走的路,但我很想知道为什么。

4

1 回答 1

2

尝试执行此代码:

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您正在创建表单的新实例,因此它不会显示当前表单实例的值。

于 2012-05-15T03:04:16.893 回答