首页 > 解决方案 > 当我尝试获取另一个表单值时出错

问题描述

我正在使用 Visual Studio 2013。我的问题是我无法从任何类中获取我的 form1 的任何值。

这是我的代码

Public MyHour as DateTime 
Public SomeValue as string
Public MyClass as SomeClass

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    MyHour = datetime.now()
    Somevalue = "asjdasd"
    MyClass = new Someclass()
End Sub

这是form1中的button1点击事件代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Myclass.mysub()
End sub

当我在课堂上调用 sub 时,我无法访问我的 form1 的任何内容:

public sub mysub()
    Dim datetovalidate as datetime= form1.actualhour
    Dim stringtovalidate as string = form1.somevalue
    messagebox.show(datetovalidate.tostring)
    messagebox.show(stringtovalidate)
end sub

从我的班级:

即使我尝试从我的班级访问我的 form1 中的控件属性,也没有任何反应,并且没有异常被触发,并且没有错误显示我这种情况。我能做些什么?

标签: vb.net

解决方案


我建议您将所需的参数传递给子例程:

Public Sub MySub(ByVal myHour as DateTime, ByVal someValue as String)

    messagebox.show(myHour.tostring)
    messagebox.show(someValue)
End Sub

然后,您将从 Form1 中调用它

Myclass.MySub(MyHour, SomeValue)

您可以在其中传递整个 Form1,但如果您想从不同的表单或根本不是表单的东西调用该方法,则不建议这样做。


推荐阅读