我尝试获取另一个表单值时出错

时间:2018-05-03 16:44:17

标签: vb.net

我正在使用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

当我在课堂上打电话给我时,我无法访问任何形式的内容:

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

来自我的班级:

  • Datetovalidate告诉我:01/01/0001 00:00:00
  • Stringtovalidate告诉我:“”

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

1 个答案:

答案 0 :(得分:0)

我建议您将所需的参数传递到子程序中:

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传递到那里,但如果您想要从不同的表单或者根本不会形成的方法调用该方法,则不建议这样做。