请帮助我了解如何使用类来共享变量。 我有3个表单和一个类来存储一些变量。在form1中我调用myclass并设置变量。现在我展示form2并在form2中调用form3
是否可以从我从第一个表单发送的类中获取变量? Myclass代码如下所示:
Private _var As String
Public Sub setvar(ByVal var As String)
_var = pvar
End Sub
Public Function getvar() As String
Return _var
End Function
来自form1的:
Public class1 As myclass
class1 = New myclass
class1.setvar("test")
现在我想调用class1.getvar,我希望它返回我在第一个表单中输入的值。可能吗 ?如果有,请帮我怎么做?
谢谢
答案 0 :(得分:1)
因为您在'class1'变量定义中使用了'Public'访问修饰符,所以您应该能够从有权访问Form1实例的任何地方将其作为Form1上的字段进行访问。
Dim myString as String = form1.class1.getvar()
尽管如此,这可能不是那么简单。
OPTION1
如果是我,我宁愿在第一个表单中创建MyClass的实例,然后将该实例传递给其他表单(可能通过构造函数)。
Public Class Form1
Private _instance As MyType
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
_instance = New MyType
Dim newForm As New Form2(_instance)
End Sub
结束课程 修改Form2和Form3的New方法以接受MyClass类型的参数:
Public Class Form2
Private _instance As MyType
Sub New(instance As MyType)
_instance = instance
End Sub
End Class
然后,在创建新表单并将其存储在私有成员中时,您将传入该变量,您可以在第二个表单的代码中的任何位置访问该表单。
OPTION2
或者,您可以将class1的定义放入模块中,然后您可以从项目中的任何位置访问它。