关于这个主题已经写了很多,但我的问题与我在之前的主题中找到的有点不同。我可以将一个对象传递给第二个表单,但它不能在第二个表单的所有子表单中使用。我需要它。 frm2中的第一个代码块工作,动物名称显示但第二个代码块(cmdSave)不起作用 - 它表示动物未声明。有人可以告诉我我需要更改什么才能让最后一个代码块(cmdSave)工作吗?
表单1代码:
Dim frm2 As New frm2(animal)
Frm2.Show()
Me.Close()
frm2代码:
Public Sub New(ByVal animal As Object)
InitializeComponent()
Msgbox.show(animal.animalName)
End sub
Private sub cmdSave
Msgbox.show(animal.animalName)
End sub
答案 0 :(得分:1)
我认为您只需要frm2
中的(私人)成员持有您传递的动物对象,以便您可以在cmdSave
中访问它。
请参阅以下代码,其中m_Animal
是私有成员。
frm2代码:
Public Class Form2
...
Private m_Animal as Object
Public Sub New(ByVal animal As Object)
InitializeComponent()
m_Animal = animal
Msgbox.show(animal.animalName)
End sub
Private sub cmdSave
Msgbox.show(m_Animal.animalName)
End sub
...
End Class