将vb6窗体设置为硬编码窗体的实例

将vb6窗体设置为硬编码窗体的实例,vb6,Vb6,我有两张表格。Form1打开Form2。Form2单击某个值后,将该值发送到Form1中的文本框。它是硬编码的,因此在Form2中它明确声明Form1.txtbox.Text=“无论我单击了什么”Form2然后关闭,我现在坐在Form1,但是txtbox.Text没有从Form2收到新值 在即时窗口中,Form1.txtbox.text=“我单击的任何内容”都可以,但是Form1上下文中的txtbox.text=“为空 我使用Forms打开了Form1。添加(“Form1”)现在是否还有其他方法

我有两张表格。Form1打开Form2。Form2单击某个值后,将该值发送到Form1中的文本框。它是硬编码的,因此在Form2中它明确声明
Form1.txtbox.Text=“无论我单击了什么”
Form2然后关闭,我现在坐在Form1,但是txtbox.Text没有从Form2收到新值

在即时窗口中,
Form1.txtbox.text=“我单击的任何内容”
都可以,但是Form1上下文中的
txtbox.text=“
为空


我使用
Forms打开了Form1。添加(“Form1”)
现在是否还有其他方法可以将该表单实例设置为硬编码实例?我猜想发生错误是因为
Forms.Add(“Form1”)
创建了该表单的实例,而
Form1.show
是实际表单。是否有办法将这两个对象匹配为同一个对象?

最好的解决方案是使用Bob77所说的内容并将其应用于表单


使用
Forms.Add(“Form1”)
方法加载Form1时,如果要在Form\u Load中实现
Set Form1=Me
,则现在会将Me的引用设置为Form1,以便在使用
Form1.Foo=“bar”在Form2中对其进行直接更改时
然后它就会工作。

最好的解决方案是使用Bob77所说的内容并将其应用到表单中


使用
Forms.Add(“Form1”)
方法加载Form1时,如果要在Form\u Load中实现
Set Form1=Me
,则现在会将Me的引用设置为Form1,以便在使用
Form1.Foo=“bar”在Form2中对其进行直接更改时
然后它就会工作。

我建议Form1以模式打开Form2->Form2在单击“关闭”时隐藏自己,然后Form1从Form2获取值。最后Form1卸载Form2。是的Form1确实在modally中打开,但我认为这是因为我首先是如何打开Form1的<代码>设置ftemp=Forms.Add(“Form1”)ftemp.show与
Form1.show
相比,在后者中,我可以显式地调用表单中的对象,并且它会发生变化,但是前者不允许我这样做。创建Form1时,您创建两件事:一个名为Form1的类,您可以创建其实例;一个名为Form1的预声明全局实例。您可以d做一些类似于
Set Form1=New Form1
的事情,但这有点愚蠢,或者可能是更笨重的
Set Form1=Forms.Add(“Form1”)
这与此差不多。是的,我试图在只知道表单名称的情况下打开表单,因为使用Set Form1时,您必须知道表单名称是什么,这会根据您拥有的表单数量产生一个巨大的if/select语句。如果我将
FormName
发送给sub,我必须
if FormName=“Form1然后设置Form1=Forms.Add(“Form1”)elseif FormName=“Form2”然后设置Form2=Forms.Add(“Form2”)等。
这正是我试图避免的。我建议Form1以模式打开Form2->Form2在单击“关闭”时隐藏自己,然后Form1从Form2获取值。最后Form1卸载Form2。是的Form1确实在modally中打开,但我认为这是因为我首先是如何打开Form1的<代码>设置ftemp=Forms.Add(“Form1”)ftemp.show与
Form1.show
相比,在后者中,我可以显式地调用表单中的对象,并且它会发生变化,但是前者不允许我这样做。创建Form1时,您创建两件事:一个名为Form1的类,您可以创建其实例;一个名为Form1的预声明全局实例。您可以d做一些类似于
Set Form1=New Form1
的事情,但这有点愚蠢,或者可能是更笨重的
Set Form1=Forms.Add(“Form1”)
这与此差不多。是的,我试图在只知道表单名称的情况下打开表单,因为使用Set Form1时,您必须知道表单名称是什么,这会根据您拥有的表单数量产生一个巨大的if/select语句。如果我将
FormName
发送给sub,我必须
if FormName=“Form1然后设置Form1=Forms.Add(“Form1”)elseif FormName=“Form2”然后设置Form2=Forms.Add(“Form2”)等。
这正是我试图避免的。我建议Form1以模式打开Form2->Form2在单击“关闭”时隐藏自己,然后Form1从Form2获取值。最后Form1卸载Form2。是的Form1确实在modally中打开,但我认为这是因为我首先是如何打开Form1的<代码>设置ftemp=Forms.Add(“Form1”)ftemp.show与
Form1.show
相比,在后者中,我可以显式地调用表单中的对象,并且它会发生变化,但是前者不允许我这样做。创建Form1时,您创建两件事:一个名为Form1的类,您可以创建其实例;一个名为Form1的预声明全局实例。您可以d做一些类似于
Set Form1=New Form1
的事情,但这有点愚蠢,或者可能是更笨重的
Set Form1=Forms.Add(“Form1”)
这与此差不多。是的,我试图在只知道表单名称的情况下打开表单,因为使用Set Form1时,您必须知道表单名称是什么,这会根据您拥有的表单数量产生一个巨大的if/select语句。如果我将
FormName
发送给sub,我必须
if FormName=“Form1“然后设置Form1=Forms.Add(“Form1”)elseif FormName=“Form2”然后设置Form2=Forms.Add(“Form2”)等。
这正是我想要避免的。