将 vb6 表单设置为硬编码表单的实例

Set vb6 form to instance of a hardcoded form

我有 2 个表格。 Form1 打开 Form2。单击一个值后,Form2 将该值发送到位于 Form1 中的文本框。它是硬编码的,因此在 Form2 内部它明确声明 Form1.txtbox.Text = "Whatever i clicked" Form2 然后关闭,我现在坐在 Form1,但是 txtbox.text 尚未收到来自 Form2 的新值。

直接window Form1.txtbox.text = "Whatever I clicked"是可以的,但是txtbox.text = ""在Form1的上下文中是空白的。

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

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

当使用 Forms.Add("Form1") 方法加载 Form1 时,如果您要在 Form_Load 中实现 Set Form1 = Me,它现在会将 Me 的引用设置为 Form1,这样当您进行直接更改时使用 Form1.Foo = "bar" 在 Form2 中添加它,然后它就可以工作了。