Salvete!我想在单击按钮时创建一个类的新实例,但我需要使用表单上的其他控件与该类的成员进行交互,因此我需要该类具有全局范围。我知道我可以在formload中调用新类,但是类会创建需要最新的某些变量。如果在formload上完成,那么变量将不是最新的,因为如果在formload中创建类,那么它在那时将具有不同的信息。当然,必须有一种方法可以从可以从同一类的其他子类访问的子中创建myClass的实例。
这样的事情:
点击myForm.button1
至dim myclassInstance as new myClass
然后,点击myForm.button2
,制作mylabel.text = myClassiInstance.myvariable
答案 0 :(得分:1)
很难理解你的要求,但似乎你只想查看Shared关键字。基本上共享意味着单个实例。
因此无论你应用它什么,它只会被创建一次并被绑定到类的类型而不是它的实例。
Private Shared sharedInt As Integer
Private Shared sharedPropValue As String
How to create and use shared members by using Visual Basic .NET
答案 1 :(得分:1)
首先,您可能遇到问题,因为MyClass是保留关键字,因此如果您尝试使用此名称创建类,则需要选择其他类名。
话虽如此,我相信你想要的东西类似于以下内容,我们将类的实例存储为表单的私有成员。只要表单存在,此实例才会“生效”,因此如果需要在表单之间共享,则需要将实例移动到其他位置(全局变量或共享成员)。
Public Class Form1
Private m_CurrentInstance As ThisIsMyClass
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
m_CurrentInstance = New ThisIsMyClass
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
If m_CurrentInstance IsNot Nothing Then
myLabel.Text = m_CurrentInstance.MyVariable
End If
End Sub
End Class